![](/img/trans.png)
[英]How to find the average of double values in an array list using a do loop?
[英]JAVA: Find the average of a double array list
嘗試在控制台中輸入一個雙精度的數組列表,然后當用戶以ctrl-z或d結束arraylist輸入時,找到使用雙精度輸入的數字列表的平均值。
我從中得到很多錯誤,我不確定為什么! 感謝所有幫助,因為我是Java初學者
public static void main(String[] args) {
ArrayList<Double> numbers = new ArrayList<Double>();
Scanner in = new Scanner(System.in);
while (in.hasNextDouble())
{
Double input = in.nextDouble();
numbers.add(input);
}
in.close();
for (Double element : numbers) {
Double sum += element;
System.out.println(sum/numbers.size());
}
}
要計算最終均值:
double sum = 0;
for(double d : numbers) {
sum += d;
}
System.out.println(sum / numbers.size());
// don't miss the imports
import java.util.ArrayList;
import java.util.Scanner;
// you might have missed to add your main() method in a class
public class Average {
public static void main(String[] args) {
// This part was ok
ArrayList<Double> numbers = new ArrayList<Double>();
Scanner in = new Scanner(System.in);
while (in.hasNextDouble()) {
Double input = in.nextDouble();
numbers.add(input);
}
in.close();
// Forgot to initialize the value of sum
Double sum = 0d;
for (Double element : numbers) {
// add the element
sum += element;
// don't count the average here
}
// count it outside the loop
System.out.println(sum / numbers.size());
}
}
Double sum += element;
那不是合法的語法,您正在嘗試向變量定義中添加某些內容,這是行不通的。 不過你近了。 只需在for
循環外聲明變量sum
。
double sum = 0;
for (double element : numbers) {
sum += element;
}
System.out.println(sum/numbers.size());
您也可能不想每次都打印出當前平均值,因此您應該將其移動到循環之后。
我在代碼中添加了Scanner
和collections classes
所需的java.util
包,主要問題是在for
循環中,請標記為answer。 謝謝 :)
import java.util.*;
public class Test {
public static void main(String[] args) {
Double sum=0.0;
ArrayList<Double> numbers = new ArrayList<Double>();
Scanner in = new Scanner(System.in);
while (in.hasNextDouble())
{
Double input = in.nextDouble();
numbers.add(input);
}
in.close();
for (Double element : numbers) {
sum += element;
}
System.out.println(sum/numbers.size());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.