首页 > 解决方案 > 多个条件 else / if 语句不知何故错误?

问题描述

我正在做一个hackernet挑战,其中n是一个int输入。条件是:

我确定代码使逻辑和不认为theres语法。它给出了正确的响应,hackernet 仍然说它不正确,所以我来这里看看是否有人能看到问题所在

public static void main(String[] args)
{
    int N = scanner.nextInt();
    scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

    if (N % 2 != 0 || N % 2 == 0 && N >= 6 && N <= 20)
    {
        System.out.print("weird");
    }
    else
    {
        System.out.print("not weird");
    }
}

标签: javaif-statementbooleanconditional-statements

解决方案


阅读此条件:

if (N % 2 != 0 || N % 2 == 0 && N >= 6 && N <= 20)

作为

if (N % 2 != 0 || (N % 2 == 0 && N >= 6 && N <= 20))

然后看看运算符优先级如何改变行为并产生所需的结果。


推荐阅读