簡體   English   中英

Java HackerRank 中的 If-Else,我的代碼好還是我可以獲得更好的問題解決方案 [關閉]

[英]Java If-Else in HackerRank, Is my code good or can I get better solution for the problem [closed]

問題陳述

任務

給定 integer,n,執行以下條件操作:

如果 n 是奇數,打印 Weird 如果 n 是偶數並且在 2 到 5 的范圍內,打印 Not Weird 如果 n 是偶數並且在 6 到 20 的范圍內,打印 Weird 如果 n 是偶數並且大於 20,打印不奇怪 完成編輯器中提供的存根代碼以打印 n 是否奇怪。

輸入格式

包含正數 integer,n 的單行。

約束條件

1<=n<=100

Output 格式

如果數字很奇怪,則打印 Weird; 否則,打印 Not Weird。

樣本輸入 0

3個

樣品 Output 0

詭異的

樣本輸入 1

24

樣品 Output 1

不奇怪

解釋

樣例 0:n=3 n 是奇數,奇數很奇怪,所以我們打印 Weird。

示例案例 1:n=24 n>20 並且 n 是偶數,所以並不奇怪。 因此,我們打印 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();
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        if(N%2==0){
            if(N>1){
                if(N<6){
                    System.out.println("Not Weird");
                }
                else if(N<21){
                    System.out.println("Weird");
                }
                else{
                    System.out.println("Not Weird");
                }
            }
        }
        else{
            System.out.println("Weird");
        }

        scanner.close();
    }
}

我可以獲得有關解決方案的建議嗎? 謝謝你。

條件應該合並:對於6 <= n <= 20范圍內的任何數字,結果都是Weird或 n 為奇數,否則為Not Weird

System.out.println((6 <= n && n <= 20 || n % 2 != 0) ? "Weird" : "Not Weird");
// or
System.out.println((5 < n && n < 21 || n % 2 != 0) ? "Weird" : "Not Weird");
 if (~N % 2 == 0 || N <= 20 && N >= 6) {
   System.out.println("Weird");
} else if (N % 2 == 0 && N > 20 || (N >= 2 && 5 <= N)) {
   System.out.println("not Weird");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM