【发布时间】:2016-12-27 22:19:20
【问题描述】:
编写一个java程序,提示用户输入用户名和4个数字,读取它们,然后打印用户输入的所有数字中的最小和最大。如果最大数大于或等于 10,程序将继续循环。最后,程序将显示程序循环了多少次。我如何循环并找到程序循环了多少次?
import java.io.*;
import java.util.*;
class largestLoop
{
public static void main(String [] args) throws IOException
{
String name;
int[] num = new int[4]; // save 4 number in array
int smallest = num[0], largest = num[0];
do{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your name : ");
name = stdin.readLine();
System.out.println(name + ", Please enter 4 numbers");
// Read for number using for loop
Scanner inData = new Scanner(System.in);
for(int i = 0; i < num.length; i++)
{
System.out.print("Enter " + (i+1) + " : "); // value i will + 1
num[i] = inData.nextInt();
}
// Find larger and smallest
for (int i : num)
{
if (i < smallest)
{
smallest = i;
} // end finding smallest
else if (i > largest)
{
largest = i;
} // end finding largest number
} // end finding largest and smallest values
System.out.println("Largest = " + largest);
System.out.println("Smallest = " + smallest);
}while(largest >= 10);
}
}
输出:
输入您的姓名:测试
测试,请输入4个数字
输入 1 : 2
输入 2 : 6
输入 3 : -5
输入 4 : 16
最大:16
最小 : 0
输入您的姓名:谷歌
google, 请输入 4 个数字
输入 1 : 5
输入 2 : 8
输入 3 : 1
输入 4 : 6
最大:16
最小 : 0
输入您的姓名:....
程序变成无限循环。每当用户输入小于或等于 10 的数字时,它应该停止。当用户在下一个循环数中输入
【问题讨论】:
-
您可以使用“while”循环,即 while(largest >= 10) { ... } 并在那里增加一个计数器。
-
欢迎来到 StackOverflow。请首先访问help center,获取tour 并阅读How to Ask,以了解如何有效地使用本网站。您是否在 IDE 调试器中单步执行了代码?如果不这样做,先看看你是否能找到问题。
-
要计算循环的次数,您可以添加一个 int 变量,该变量在每次读取值时递增。
-
@Peter Lawrey:来自问题:“如果最大数字大于或等于 10,程序将继续循环。最后,程序将显示程序循环了多少次。”这听起来像是在计算读取四个值并相互比较的循环数。在读取一个值来完成此操作后,您不会增加计数器。