我需要编写一个应用程序,它可以将 10 000 个用户输入的值存储在一个数组中,并且可以返回所有值的总和和所有值的平均值。如果用户写入数字“0”,则必须停止输入。有一些条件需要满足:
- 这些值需要存储在数组中
- 用户输入数据必须在while循环内
- 分析(可以说是数学)必须在用户输入完成后进行。
- 不允许应用程序循环任何空元素。
这是我今天在课堂上得到的额外作业。
到目前为止,我已经写了这个:
import java.util.Scanner;
public class Ovning_54 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] list;
list = new int[10000];
int sum = 0;
int avr = 0;
int x = 0;
int number;
System.out.print("Add number " + (x + 1) + ": ");
number = input.nextInt();
while (x <= list.length && (number != 0 || x == 0)) {
list[x] = number;
x++;
System.out.print("Add number " + (x + 1) + ": ");
number = input.nextInt();
}
for (int i = 0; i < x; i++) {
sum += list[i];
avr = sum / x;
}
System.out.println("The sum of all values are: " + sum);
System.out.println("The average value of the numbers are: " + avr);
}
}
我想我已经解决了!似乎运行正常,我没有收到任何错误消息。我仍然想知道这是否违反条件#1。如果没有,有没有办法解决它?