Java7的条件语句

时间:2018-10-04 11:35:03

标签: java if-statement java.util.scanner

你好,我刚刚开始对hackerrank进行编码练习,并且使用带有skip功能的扫描器类遇到了一些挑战。这是我尝试过的。 目的 在这个挑战中,我们从条件语句开始。请查看“教程”选项卡以获取学习材料和教学视频!

任务

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

  • 如果n为奇数,则打印怪异
  • 如果n为偶数且在2到5的范围内,则打印Not Weird
  • 如果n为偶数且在6到20的范围内,则打印怪异
  • 如果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();
    }
}

请问我在做错什么。

11 个答案:

答案 0 :(得分:1)

您混用了<textarea cols="200" name="mensaje" class="user-form-control input-md" id="textoExcel" disabled="disabled"> </textarea> &&,因此您的第一个||将永远不会像注释中提到的那样运行。

因此,看起来唯一的if打印输出是"Not Weird"2甚至是数字4

因此,您可以利用它来检查> 20的输出,否则打印"Weird"

"Not Weird"

Online Demo

话虽如此,我不确定Scanner::skip想要什么

答案 1 :(得分:0)

这就是我简化它的方式。

    if(N % 2 == 0 )
    {            
        if((N >= 2 && N <= 5) || N > 20)
        {
            System.out.println("Not Weird");
        }
        else
        {
            System.out.println("Weird");
        }    
    }
    else
    {
        System.out.println("Weird");
    }

答案 2 :(得分:0)

请参见下面的代码

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

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");
}

答案 3 :(得分:0)

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 && n>2 && n<5 || n>20) {
            System.out.println("Not Weird");
        } else if( n>6 || n<20) {
            System.out.println("Weird");
        } else {
            System.out.println("Weird");
        }
    
        scanner.close();
    }
    
}

答案 4 :(得分:0)

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 && N >= 2 && N <= 5 ) {
        System.out.println("Not Weird");

    } else if (N % 2 == 0 && N >= 6 && N<=20) {
        System.out.println("Weird");
    } else if(N%2==0 && N>20) {
        System.out.println("Not Weird");
    }else {
            System.out.println("Weird");
             }        


    scanner.close();
}
}

答案 5 :(得分:0)

package hudai;
import java.util.Scanner;
public class Hudai {   
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])?");

    scanner.close();
    if(N%2 == 1){
       System.out.println("Weird"); 
    } 
    if(N%2==0 && 2<N && N<5){
       System.out.println("Not Weird");
    }
    if(N%2==0 && 6<N && N<=20){
       System.out.println("Weird"); 
    }
    if(N%2==0 && 20<N && N<=100){
       System.out.println("Not Weird"); 
    }
}

}

答案 6 :(得分:0)

   if(N % 2 == 0){
        if((N >=2 && N <= 5) || (N > 20)){
            System.out.println("Not Weird");
        }
        else if(N >= 6 && N <= 20){
            System.out.println("Weird");
        }   
    }
    else{
        System.out.println("Weird");
    }

答案 7 :(得分:0)

Java 8 函数式接口应用于整数。

OPTIONS

答案 8 :(得分:0)

import java.util.Scanner;

public class Main {


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

    public static void main(String[] args) {
        int n = scanner.nextInt();
        if (n % 2 == 1) {
            System.out.println("Weird");
        }
        if (n % 2 == 0 && 2 < n && n < 5) {
            System.out.println("Not Weird");
        }
        if (n % 2 == 0 && 6 < n && n <= 20) {
            System.out.println("Weird");
        }
        if (n % 2 == 0 && 20 < n && n <= 100) {
            System.out.println("Not Weird");

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

        }
    }
}

答案 9 :(得分:-1)

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>=2 && N<=5) || (N>20)){
        System.out.println("Not Weird");
        }
        else if (N>=6 && N<=20){
           System.out.println("Weird"); 
        }

   }
    else {
        System.out.println("Weird");
    }




    scanner.close();
}

}

答案 10 :(得分:-2)

int N = scan.nextInt(); scan.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

    if(N%2==1 || (N>=6 && N<= 20)){
        System.out.println("Weird");
    }else{
    System.out.println ("Not Weird");
    }
    
    scanner.close();
}