用戶輸入3個數字,我假設所有的都是正確的整數和不同的。我試圖讓程序打印出一個從最低值到最高值的序列。爲什麼我不在這裏工作?或者我在代碼中犯了一些明顯的錯誤?爲什麼不工作?
代碼不完整,我只寫了這麼多,然後測試它。當我輸入8然後是2然後輸入4時,我打算輸出2,3,4,5,6,7,8,但它不是。相反,它打印出4,5,6,7,8,
System.out.print("Enter a number: ");
int n1 = Integer.parseInt(in.readLine());
System.out.print("Enter a number: ");
int n2 = Integer.parseInt(in.readLine());
System.out.print("Enter a number: ");
int n3 = Integer.parseInt(in.readLine());
if ((n1 > n2) | (n2 > n3)) {
for (int i = n3; (i <= n1); i++) {
System.out.print(i + ",");
}
}
else if ((n1 > n3) | (n3 > n2)) {
for (int i = n2; (i <= n1); i++) {
System.out.print(i + ",");
}
}
}
}
8> 2,因此,您打到循環的第一個,而不是第二個。我認爲你的意思是成爲&&,而不是|。另外,|是按位進行的,所以這可能無法正確編譯,並且不太可能像預期的那樣起作用。 – Joel 2012-02-29 01:57:56
這應該不會影響邏輯結果;他的條件沒有副作用。 – 2012-02-29 01:58:21