試圖在控制檯中輸入雙精度數組列表,然後當用戶用ctrl-z或d結束數組列表輸入時,找到它們輸入的數字列表的平均值雙打。JAVA:查找雙數組列表的平均值
我收到很多來自這個錯誤,我不知道爲什麼!
double sum = 0;
for(double d : numbers) {
sum += d;
}
System.out.println(sum/numbers.size());
試圖在控制檯中輸入雙精度數組列表,然後當用戶用ctrl-z或d結束數組列表輸入時,找到它們輸入的數字列表的平均值雙打。JAVA:查找雙數組列表的平均值
我收到很多來自這個錯誤,我不知道爲什麼!
double sum = 0;
for(double d : numbers) {
sum += d;
}
System.out.println(sum/numbers.size());
要計算最終的平均 任何和所有幫助表示讚賞到一個不起作用的變量定義。你雖然接近。只需在for
循環外聲明變量sum
即可。
double sum = 0;
for (double element : numbers) {
sum += element;
}
System.out.println(sum/numbers.size());
您也可能不希望每次打印出當前的平均值,因此您應該將其移至循環之後。
Double sum += element;
這是不合法的語法,你想補充一點:因爲我是一個初學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());
}
}
// 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());
}
}
我已經添加java.util
這是需要在代碼中的主要問題是在你的for
循環PLZ標記答案Scanner
和collections classes
包。謝謝:)
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());
}
}
你得到的錯誤究竟是什麼? – resueman 2014-09-02 18:37:12
就行「Double input = in.nextDouble();」我得到一個類型不匹配的錯誤,它說「類型不匹配:不能從double轉換爲Double」 – seriallchiller 2014-09-02 18:48:31