0
ユーザが負の値を入力したときに停止するプログラムを書き込もうとしています。しかし、ユーザーが負の値を入力しても、ループは引き続き実行されます。理由は分かりません。助けてください!Java Sentinelで制御されたループが機能しない
int input, smallest = 0, largest=0, total = 0, count = 1;
double avg;
System.out.print("Enter a number: ");
input = keyboard.nextInt();
while(input > 0)
{
System.out.print("Enter a number: ");
largest = keyboard.nextInt();
count++;
if (input > largest)
{
largest = input;
}
else
{
smallest = input;
}
total = total + largest + smallest;
}
avg = total/count;
System.out.println("Largest number is: " + largest);
System.out.println("Smallest number is: " + smallest);
System.out.printf("Average number is: %.2f \n", avg);
デバッガは、このような状況で何が起こっているのか探索するための優れたツールです。 –
OPが 'input'に割り当てることを意図したとき、'最大 'に代入するように見えます。 – markspace
一度コードを確認しましたか? –