【发布时间】:2012-12-03 00:05:57
【问题描述】:
我是 Java 新手,我正在尝试制作一个允许用户输入 100 个数字的程序,如果用户输入“0”,那么该程序假定打印最小、最大、总和等等号码。我得到了所有的工作,但没有退出并全部打印出来。我的老师说了一些关于使用while循环的事情,但是当你有一个for循环时怎么可能呢?
问候
public static void main(String[] args) {
int[] list = new int[100];
int min = 0;
int max = 0;
int sum = 0;
boolean first = true;
Scanner scan = new Scanner(System.in);
while(list[i] != 0) {
for (int i = 0; i < list.length; i++) {
System.out.print("Enter number (0 to exit) " + (1 + i) + ":");
list[i] = scan.nextInt();
}
for (int i = 0; i < list.length; i++) {
if (first == true) {
min = list[i];
first = false;
}
if (list[i] < min) {
min = list[i];
}
else if (list[i] > max) {
max = list[i];
}
sum = list[i] + sum;
}
if (list[i] == 0) {
System.out.print("Numbers are: " + list[0] + ", ");
for (int i = 1; i < list.length; i++)
System.out.print(list[i] + ", ");
System.out.println();
System.out.println("Smallest number is: " + min);
System.out.println("Largest numeber is: " + min);
System.out.println("Sum is: " + sum);
}
}
}
}
【问题讨论】:
-
那么
for循环可能不合适?要么使用for循环并在内部有一个if,要么你有一个while循环并有一个变量作为计数器。 -
“for 循环”是“while”循环的特化(或者,就此而言,“do/while”循环)。你可以在一个while循环中做所有你可以在for循环中做的事情。你也可以嵌套循环,一个在另一个里面。
-
For 源自 while,它源自布尔递归。
标签: java loops for-loop while-loop