嘿大家所以我一直在試圖寫我的CS類應該是一個非常簡單的計數程序,但由於某種原因,它繼續吐出「請輸入一個數字(0停止):「提示,似乎完全忽略了while循環。如果while循環內的條件得到滿足,爲什麼即使輸入0,while循環也不會停止?過去我已經完成了C#,但我並不十分熟悉Java的注意事項,所以如果有什麼奇怪的東西讓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.
一個建議:如果您在某個時候認爲「程序不遵循邏輯或者我在執行邏輯時犯了一些錯誤」,後面的答案通常是正確的。 SJuan76非常好的建議, – SJuan76
。 – duffymo