在特定范围内为偶数写入“if”条件

时间:2017-06-10 19:04:06

标签: java if-statement

如果n是偶数且在2到5的包含范围内,则打印不奇怪

if((n%2==0) && (n>=2&&n=>5)){
        System.out.println("Not Wierd");}

这就是我写它的方式,idk我做了什么错,有人可以帮我吗?!

整个计划

import java.util.Scanner;

public class TestRank {

    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);
      int n = scan.nextInt(); 
      scan.close();
      String ans="";

      // if 'n' is NOT evenly divisible by 2 (i.e.: n is odd)
      if(n%2==1){
         ans = "Wierd";
      }
      else if((n%2==0) && (n>=2&&n=>5)){
          ans = "Not Wierd";
      }
        System.out.print(ans);
    }

    }

4 个答案:

答案 0 :(得分:1)

满足您条件的唯一两个数字是24,因此您可以枚举它们,而不是陈述原始条件。

由于特殊情况的答案可以通过添加前缀从一般情况的答案构建,整个代码可以用一行表示:

System.out.print(((n == 2 || n == 4) ? "Not " : "") + "Weird");

答案 1 :(得分:0)

=>不是有效的运算符。这应该是n<=5

答案 2 :(得分:0)

if(n>=2 && n<=5 && n%2==0){
     //do something
}

答案 3 :(得分:0)

你在第else if((n%2==0) && (n>=2&&n=>5)){行犯了一个错误。您应该在最后一个条件下检查n<=5

请使用以下代码:

import java.util.Scanner;

public class TestRank {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        scan.close();
        String ans = "";

        // if 'n' is NOT evenly divisible by 2 (i.e.: n is odd)
        if (n % 2 == 1) {
            ans = "Wierd";
        } else if (n % 2 == 0 && n >= 2 && n <= 5) {
            ans = "Not Wierd";
        }
        System.out.print(ans);
    }

}