当前位置: 首页 > 知识库问答 >
问题:

二进制运算符的操作数类型不正确,“

滕夜洛
2023-03-14

我一直收到一个错误,说我不能使用布尔值,需要一个整数,但是N是一个整数,我只是想不出一个解决方案。

public static void main(String[] args) {
    int N = scanner.nextInt();
    scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
    if(1<=N<=100){
        if(N % 2 != 0){
            System.out.println("Weird");
        } else {
            if(2<=N<=6){
                System.out.println("Not Weird");
            } else if (6<=N<=20){
                System.out.println("Weird");
            } else if(N>=20){
                System.out.println("Not Weird");
            }
        }
    }
    
    scanner.close();
}

共有1个答案

闽经纬
2023-03-14

在Java中无法直接执行此操作:

if(1)

它首先计算(1)

然后它尝试编译([boolean]

运算符

在您的情况下:

运算符

更改所有条件,使其遵循以下形式:

(分钟)

    int N = scanner.nextInt();
    scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
    if(1<=N && N<=100)
    {
        if(N % 2 != 0)
            System.out.println("Weird");
        else 
        {
            if (2<=N && N<=6)
               System.out.println("Not Weird");
            else if (6<=N && N<=20)
               System.out.println("Weird");
            else if(N>=20)
               System.out.println("Not Weird");
         }
     }

 类似资料: