我需要編寫一個應用程序,它可以將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。如果沒有,是否有解決方法?
'分析(數學,可以這麼說),必須在用戶輸入後,做的是done.' Awhh,最優雅的解決方案會在路上 – Cruncher
@ Cruncher計算出來。是的,我們在課上有這個。如何在while循環內計算。但是這有點棘手。 – Dinco
你真的很接近!這裏最大的問題是你輸入了多少元素,這對計算平均值非常重要(並避免循環任何空元素)。 – Cruncher