java - 多个条件 else / if 语句不知何故错误?
问题描述
我正在做一个hackernet挑战,其中n是一个int输入。条件是:
- 如果 n 是奇数,打印 Weird
- 如果 n 是偶数并且在 2 到 5 的范围内,则打印 Not Weird
- 如果 n 是偶数并且在 6 到 20 的范围内,则打印 Weird
- 如果 n 是偶数且大于 20,则打印 Not Weird。
我确定代码使逻辑和不认为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");
}
}
解决方案
阅读此条件:
if (N % 2 != 0 || N % 2 == 0 && N >= 6 && N <= 20)
作为
if (N % 2 != 0 || (N % 2 == 0 && N >= 6 && N <= 20))
然后看看运算符优先级如何改变行为并产生所需的结果。
推荐阅读
- python - Matplotlib:使用字符串作为值而不是数字
- javascript - 如何创建具有写入字节限制的 WriteStream?
- javascript - 直接从js文件node.js发送html
- c# - Windows 上 C# 和 C++ 之间的 Diffie Hellman 密钥交换
- dma - 具有不同脉冲宽度 (DMA) 的可变频率脉冲序列
- apache-spark-sql - 用于匹配输出的 SPARK SQL 查询
- r - 如何在 R 的 goem_hline() 中添加和编辑图例
- apache-flink - Flink:我们可以只更新 processBroadcastElement 函数中某些元素的键控状态吗?
- sql - 将 Ruby 数组作为值传递给 SQL
- flutter - Flutter 中是否有等效的引导容器?