gpt4 book ai didi

java - 多个条件 else/if 语句有些错误?

转载 作者:行者123 更新时间:2023-11-30 01:56:55 26 4
gpt4 key购买 nike

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

  • 如果 n 是奇数,则输出 Weird
  • 如果 n 为偶数且在 2 到 5 的范围内,则输出 Not Weird
  • 如果 n 为偶数且在 6 到 20 的范围内,则输出 Weird
  • 如果 n 为偶数且大于 20,则输出 Not Weird。

我确信代码具有逻辑性,并且不认为存在语法。它给出了正确的响应,但 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");
}
}

最佳答案

问题出在 else 条件中的逻辑,它也会捕获小于 2 的 N 值。试试这个版本:

if (N % 2 != 0)
{
System.out.print("weird");
}
else if (N >= 2 && N <= 5 || N > 20)
{
System.out.print("not weird");
}
else if (N >= 6 && N <= 20)
{
System.out.print("weird");
}
else
{
// NOTE: if the code still fails, remove this else condition
System.out.print("unexpected value of N");
}

注意:要让您的代码通过 Hackernet 任务,您可能必须完全删除 else 条件。我添加它是为了完整性,但 Hackernet 可能会测试 N=1 以查看是否没有打印任何内容。

关于java - 多个条件 else/if 语句有些错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54124051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com