我有用戶在int[]
中輸入5個整數的列表。然後我用簡單的for
語句在int []中查看這些int。我有一個int
變量聲明爲「evens」。如果int []中的數字在i %2 == 0
,evens++
;Java`if`語句和`else if`不能按預期工作
現在我有if
聲明:
if (evens !=2 || evens!=3) {
System.out.print("This was called because " + evens + " is not equal to 2 or 3");
}
的問題是,這是被稱爲無論在什麼找齊值。它可以是5或3,並且仍然被調用。我最近一直在使用C#,但這是簡單的Java。
整個代碼:
int evens = 0;
for(int i=0; i<chosenNumbers.length; i++) {
if(chosenNumbers[i] %2 ==0)
evens++;
}
System.out.println("You chose "+evens+" even numbers and " + (chosenNumbers.length-evens) + " odd numbers.");
if (evens !=2 || evens!=3) {
System.out.print("This was called because " + evens + " is not equal to 2 or 3");
} else if (evens==2 || evens==3) {
System.out.print(evens +" equals 2 or 3");
}
試着說'找齊!= 2 || evens!= 3'英文:「如果evens不同於2 **或者** evens與3不同,那麼......」。然後你會意識到,任何數字總是不同於2 *或*與5不同。你可能是指**和**而不是*或*。 –
感謝您的回覆。 –