我有用户在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不同。你可能是指**和**而不是*或*。 –
感谢您的回复。 –