こんにちは、私はCSクラスの本当に簡単なカウントプログラムを書こうとしていましたが、何らかの理由で「数字を入力してください(停止するには0):」プロンプトを吐き出し続け、完全にwhile ループは無視してください。while ループ内の条件が成立しているのに、0 を入力しても while ループが停止しないのはなぜですか? 私は過去に C# をやったことがありますが、Java の注意点についてはあまり詳しくありません。プログラムのより詳細な説明については、ユーザーから負の数と正の数の両方を読み取り、負の数と正の数の合計を個別に出力し、平均を取ることになっています。(明らかに、以下は問題のあるコード部分です。)
Scanner scanner = new Scanner(System.in);
double average;
double numPositive=0.0;
double numNegative=0.0;
double input = 0.0;
do
{
System.out.print("Please enter a number (0 to stop): ");
input = scanner.nextDouble();
if (input < 0.0)
{
numNegative += scanner.nextDouble();
}
else if (input > 0.0)
{
numPositive += scanner.nextDouble();
}
} while (Math.abs(input) > 1.0e-6); // make the tolerance whatever you want.