簡體   English   中英

計算每個用戶輸入的平均值

[英]Calculate average of user input using for each

嗨,我是java的新手,並嘗試做一些練習來熟悉它。 我正在嘗試使用for或增強的for循環來計算用戶輸入數字的總和和平均值。 我所做的是將數字存儲在數組中。 您能檢查我的代碼是否正確。

Scanner scanner = new Scanner(System.in);

double inputNum;
double sum= 0;
int counter;

System.out.println("How many entries would you like input");
int entry = scanner.nextInt();

for (counter = 0; counter< entry; counter++){

    double [] numbers = new double[entry]; 
    System.out.println("Please input number " + (counter +1));
    numbers[counter] = scanner.nextDouble();

    for (double x : numbers[counter]) {
        x += sum;
    }

    System.out.println("The total sum is: " + sum);
    double average = sum/entry;
    System.out.println("The total average is: " + average);
}

您不需要內部循環。 將每個輸入存儲在數組中之后,可以將其添加到總和中。

另外,應該在外部循環之外而不是在每次迭代中分配一次數組。

double [] numbers = new double[entry];
for (counter = 0; counter< entry; counter++){       
    System.out.println("Please input number " + (counter +1));
    numbers[counter] = scanner.nextDouble();
    sum+= numbers[counter];
}
System.out.println("The total sum is: " + sum);
double average = sum/entry;
System.out.println("The total average is: " + average);

將求和和平均邏輯放在循環之外。 這應該工作:

double [] numbers = new double[entry]; 
for (counter = 0; counter< entry; counter++){
  System.out.println("Please input number " + (counter +1));
  numbers[counter] = scanner.nextDouble();       
  sum += numbers[counter];
}

System.out.println("The total sum is: " + sum);
double average = sum/entry;
System.out.println("The total average is: " + average);

您不能將for-each與掃描儀一起使用。 同樣,您也不需要存儲任何東西。 只要跟蹤總和。

Scanner scanner = new Scanner(System.in);

System.out.println("How many entries would you like input?");
int numEntries = scanner.nextInt();

double sum = 0;
for (counter = 1; counter <= numEntries; counter++) {
    System.out.println("Please input number " + counter + ": ");
    sum += scanner.nextDouble();
}
System.out.println("The total sum is: " + sum);
System.out.println("The average is: " + sum / numEntries);

相同的代碼,平均在循環外,並且刪除了無用的數組:

Scanner scanner = new Scanner(System.in);

double sum = 0;

System.out.println("How many entries would you like input");
int entry = scanner.nextInt();

for (int counter = 1; counter <= entry; counter++) {
    System.out.println("Please input number " + counter);
    sum += scanner.nextDouble();
}

System.out.println("The total sum is: " + sum);
double average = sum / entry;
System.out.println("The total average is: " + average);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM