입니다.하지만 입력 한 숫자에 관계없이 값의 평균은 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