或在一会儿声明不起作用

或在一会儿声明不起作用

import java.util.Scanner;

public class test{
public static void main(String [] args){

    Scanner in = new Scanner(System.in);
    int a = 1;
    int b = 1;

    while (a != 0 || b != 0){
        System.out.println("");
        a = in.nextInt();
        b = in.nextInt();

    }
}
}


我的问题是,为什么“ a”和“ b”需要为0才能停止?
我能做些什么来解决?我可以创建一个新变量,然后:

 if (a = 0){
      //blabla...
 }


但是我宁愿不...

最佳答案

您当前具有的条件:

while (a != 0 || b != 0)


相当于@TimBiegeleisen所说的:

while(a == 0 && b == 0)


而且,正如您意识到的那样,您不想要那样。将您的条件固定为此:

while(!(a == 0 || b == 0))


因为这是您想要的条件。

您的完整代码应为:

import java.util.Scanner;
public class test{

    public static void main(String []args){
        Scanner in = new Scanner(System.in);
        int a = 1;
        int b = 1;

        while (!(a == 0 || b == 0)){
            System.out.println("");
            a = in.nextInt();
            b = in.nextInt();
        }
    }
}

关于java - 或在一会儿声明不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39436934/

10-09 17:09