public static void main (String[] args) {
double sum = 0;
int count = 0;
double userEnterNumber = 0;
double min = 0;
double max = 0;
double average = 0;
System.out.println(" Input a number, type a non-numerical value to exit: ");
Scanner in = new Scanner(System.in);
userEnterNumber = in.nextDouble();
while (in.hasNextDouble())
{
userEnterNumber = in.nextDouble();
if (userEnterNumber>0) {
sum = sum + userEnterNumber;
count ++;
average = sum/count;
if (userEnterNumber >=max){
max = userEnterNumber;
}
}
}
System.out.println(" Sum: "+sum);
System.out.println(" Count: "+count);
System.out.println(" Average: "+average);
System.out.println(" Minimun: "+min);
System.out.println(" Maximum: "+max);
}
내 프로그램에서 무슨 일이 일어나는지 파악하려고합니다. 내가 그것을 실행할 때마다, 그것은 틀린 합계와 틀린 계산을 나에게 준다. 어떻게 해결할 수 있습니까? 여기에 최소값도 어떻게 추가 할 수 있습니까? 감사합니다어떤 이유로 컴파일하고 프로그램을 실행하려고하면 합계가 올바르게 추가되지 않습니다.
초기 값을 건너 뜁니다. 먼저 in.nextDouble()을 얻은 다음 while (in.hasNextDouble())을 호출하면 in.nextDouble()을 다시 얻습니다. 따라서 첫 번째 값은 합계의 일부로 기록되지 않습니다. –
루프에서 즉시 다시 호출하기 때문에 첫 번째'in.nextDouble()'을 버리고 있습니다. – Doorknob