Java If语句和布尔问题?

Java If语句和布尔问题?,java,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; }

我似乎无法理解为什么我的代码会以我所看到的方式运行。我错过了什么

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();

  }
}

我希望根据用户输入的数字看到偶数或奇数?

您从未运行过
isEven(int)
方法。通过编写
isEven(int)

Java启动,尝试在主类中调用该方法。Java运行主方法。Java创建了一个名为
number
的新变量。它的值是0。。制作了一台新的扫描仪。将打印文本“输入任意偶数或奇数”。从键盘上检索一个数字

然后你的节目就结束了

是的,您的代码有一个
isEven
方法,但没有调用它。实际上,您必须在main中调用
isEven
方法,例如:

isEven(number);

作为main方法中的最后一行。

您错过了main方法中的
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());
        }
    }
}

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

根据此答案的建议,请参见示例。如果出现任何异常,您可以最终阻止并关闭那边的扫描仪从不关闭标准输入数据流。请阅读我更喜欢Oracle文档:“标准”输入流。此流已经打开,可以提供输入数据。通常,此流对应于键盘输入或主机环境或用户指定的另一个输入源。因此,您没有获取它,而是获取“主机环境或用户”。所以你不应该关上它。如果你真的破坏了一个操作系统(“主机环境”)资源,那么可能会产生所有的不良影响。FWIW:你是否也关闭了System.err和System.out?希望你不会。如果你不这样做:你应该以同样的方式对待系统。请阅读并相应地强化你的问题。