Java虽然不是0或1

jam*_*lin 3 java do-while

好.所以我是Java的初学者.但是为什么这个循环永远不会结束,即使我输入0或1.

do {
   //Ask user to enter 1 or 0           
   System.out.print("Enter 1 or 0: ");
   upOrDown = keyboard.nextInt();

} while(upOrDown != 0 || upOrDown != 1); 
//Here the loop should exit if user entered 1 or 0, but it does not.
Run Code Online (Sandbox Code Playgroud)

所以,我在这里错过了什么,可能非常明显,我很抱歉:(

Seb*_*olm 9

你需要做一个&&.

你说的是"如果数字不是0或不是1,那么重试." 然而,这总是正确的,因为它不能同时为0和1.

所以,这就是你想要的:

do {
   //Ask user to enter 1 or 0           
   System.out.print("Enter 1 or 0: ");
   upOrDown = keyboard.nextInt();
} while(upOrDown != 0 && upOrDown != 1); 
Run Code Online (Sandbox Code Playgroud)


shi*_*t66 5

因为每个数字不是1或不是0.不是吗?))2不是1,1不是0而0不是1
如果你想结束循环,如果upOrDown是0或是1你应该使用&&
while(upOrDown != 0 && upOrDown != 1);