[英]Found a solution to a problem on Hackerrank but i cant find what this syntax mean and can anyone explain in detail how it works it is code in java
[英]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.