如果声明和布尔问题?

时间:2019-02-16 01:58:18

标签: java

我似乎无法弄清楚为什么我的代码会以我看到的方式运行。我想念的是什么?

import java.util.Scanner;
class EvenOdd {

    public static boolean isEven(int number) {
        if(number %2 == 0){
          System.out.println("Given number is even.");
         return true;    
        }
        else {
            System.out.println("Given number is odd.");
         }
        return false;
              }

public static void main(String[] args) {
    int number = 0;
    Scanner scanner =new Scanner(System.in);
      System.out.println("Enter any number Even or ODD");
      number = scanner.nextInt();

  }
}

我希望看到的是偶数还是奇数取决于用户输入的数字?

3 个答案:

答案 0 :(得分:4)

Java启动。 Java运行您的main方法。 Java创建了一个名为number的新变量。其值为0。制作新的扫描仪。文本“输入任意数字,即偶数或奇数”被打印。从键盘上检索一个数字。

然后程序结束。

是的,您的代码具有isEven方法,但没有任何调用方法。您实际上必须在主体中实际调用isEven方法,例如:

isEven(number);

作为主要方法的最后一行。

答案 1 :(得分:1)

您从未运行过isEven(int)方法。尝试通过编写isEven(int)在主类中调用该方法。

答案 2 :(得分:-1)

您错过了主方法

中对isEven方法的调用
import java.util.InputMismatchException;
import java.util.Scanner;

class EvenOdd {

    public static boolean isEven(int number) {
        if (number % 2 == 0) {
            System.out.println("Given number is even.");
            return true;
        } else {
            System.out.println("Given number is odd.");
        }
        return false;
    }

    public static void main(String[] args) {
        try {
            int number = 0;
            Scanner scanner = new Scanner(System.in);
            System.out.println("Enter any number Even or ODD");
            number = scanner.nextInt();

            boolean isEven = isEven(number);

            System.out.println(isEven);

        } catch (InputMismatchException e) {
            System.out.println("Handle Exception " + e.getMessage());
        }
    }
}

如果输入的数字不是数字,则处理异常。