ですが、入力した数字に関係なく、値は平均0.0です。正しい平均値を出力するにはどうすればよいですか?ArrayListに入力された数値を平均したいのですが、平均を計算するのは0.0
import java.util.Scanner;
import java.io.*;
import java.util.ArrayList;
public class Calculation {
static Toolkit tools = new Toolkit();
public static void main(String [] args) {
double average = 0.0;
double sum = 0;
int i =0;
int num = 0;
int nElements = 0;
Scanner console = new Scanner(System.in);
ArrayList<Integer> value = new ArrayList<Integer>();
System.out.println("Enter value: ");
num = console.nextInt();
while(num != 0) {
value.add(new Integer(num));
}
for(i = 0; i < value.size(); i++) {
sum += value.size();
}
average = sum/value.size();
System.out.println("Number of values read: " + value.size());
System.out.println("Values sum: " + sum + "Values average: " +
average);
System.exit(0);
}
}
'while(num!= 0){value.add(new Integer(num)); } 'これは無限ループになります。なぜなら、あなたが内部にいれば' num'を変更しないので、条件は決して偽にならないからです。あなたが主張しているように合計が正しく働いていることをどのように確認したのか分かりません。 – csmckelvey
はい、正しいです、このコードに 'num = console.nextInt();'を追加するのを忘れました。しかし、私はそれを追加した後、数値を合計しても平均値は0として計算されます。 –
その行を追加してコードを実行すると、合計は正しくなりませんが、誤った合計の平均が正しいことになります。私が5,5,5,0を入力した場合、9.0の平均と3.0の平均が得られます。繰り返しますが、あなたが投稿したコードがあなたが何を記述していないとしても、あなたが見ているものを見ているかどうかはわかりません。 – csmckelvey