【问题标题】:If statement and Boolean questions?如果语句和布尔问题?
【发布时间】:2019-02-16 01:58:17
【问题描述】:

我似乎无法弄清楚为什么我的代码会按照我看到的方式运行。我错过了什么?

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

  }
}

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

【问题讨论】:

标签: java


【解决方案1】:

Java 启动。 Java 运行您的主要方法。 Java 创建了一个名为number 的新变量。它的值为 0.. 制作了一个新的扫描仪。将打印文本“输入任何数字偶数或奇数”。从键盘检索一个数字。

然后你的程序就结束了。

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

isEven(number);

作为 main 方法的最后一行。

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

    你错过了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 吗?希望你不要。如果你不这样做:你应该以同样的方式对待 System.。
    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 2013-10-09
    • 2013-03-26
    • 2021-12-19
    相关资源
    最近更新 更多