猿问

Java7 上的条件语句

你好,我刚刚开始了关于hackerrank的编码练习,我在使用带有跳过功能的扫描仪类时遇到了一些挑战。这是我尝试过的。目标 在这个挑战中,我们开始使用条件语句。查看教程选项卡以获取学习材料和教学视频!


任务


给定一个整数,执行以下条件操作:


如果 n 是奇数,则打印 Weird

如果 n 是偶数并且在 2 到 5 的包含范围内,则打印 Not Weird

如果 n 是偶数并且在 6 到 20 的包含范围内,则打印 Weird

如果 n 是偶数且大于 20,则打印 Not Weird

完成编辑器中提供的存根代码以打印 n 是否奇怪。

输入格式


包含一个正整数 n 的单行。


约束


输出格式


如果数字很奇怪,则打印 Weird;否则,打印 Not Weird。


import java.io.*;

import java.math.*;

import java.security.*;

import java.text.*;

import java.util.*;

import java.util.concurrent.*;

import java.util.regex.*;


public class Solution {



    private static final Scanner scanner = new Scanner(System.in);


    public static void main(String[] args) {

        int N = scanner.nextInt();


        if (N % 2 == 0 && N >= 2 && N <= 5 && N > 20) {

            System.out.println("not weird");


        } else if (N % 2 == 0 && N >= 6 && N <= 20) {

            System.out.println("weird");

        } else {

            System.out.println("weird");

        }


        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");



        scanner.close();

    }

}

请问我做错了什么。


慕姐8265434
浏览 122回答 2
2回答

明月笑刀无情

你混淆了&&and ||,所以你的第一个if永远不会像评论中提到的那样运行。所以看起来唯一"Not Weird"打印出来的是2,4和偶数> 20。因此,请充分利用它来检查"Weird"输出,否则为 print "Not Weird"。if (n % 2 == 0) {&nbsp; &nbsp; if ((n >= 2 && n <= 5) || (n > 20)) {&nbsp; &nbsp; &nbsp; &nbsp; return "Not Weird";&nbsp; &nbsp; }}return "Weird";说了这么多,我不确定你想要什么 Scanner::skip
随时随地看视频慕课网APP

相关分类

Java
我要回答