【问题标题】:how to check and display an error message if the input is not a number in java如果输入不是java中的数字,如何检查并显示错误消息
【发布时间】:2019-03-13 09:59:45
【问题描述】:

如何使用 try 和 catch 语句来验证变量 odd 中的输入是否为数字,否则打印错误消息?我是java编程新手。感谢任何帮助

import java.util.Scanner;

public class ScenarioB{
    public static void main (String[]args){
        int odd;
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter An Odd Number\n");
        odd = scan.nextInt();
    }
}

【问题讨论】:

标签: java


【解决方案1】:

Scanner 类对此有一个方法

Scanner in = new Scanner(System.in);
int num;
if(in.hasNextInt()){
  num = in.nextInt();
  System.out.println("Valid number");
}else{
  System.out.println("Not a valid number");
}

输出 1:

8

有效号码

输出 2:

一个

不是一个有效的数字

【讨论】:

    【解决方案2】:

    您的代码如下所示:

    try {
                int scannedNumber;
                Scanner scan = new Scanner(System.in);
                System.out.print("Enter An Odd Number\n");
                String userInput = scan.nextLine();
    
                System.out.println("You pressed :" + userInput);
    
                scannedNumber = Integer.parseInt(userInput);
    
                if (scannedNumber % 2 == 0) {
                    throw new Exception("Not an odd number");
                }
    
                System.out.println("You pressed odd number");
    
            } catch (Exception e) {
                System.out.println("" + e.getMessage());
            }
    

    在将输入作为字符串之后。然后转换为整数。如果投射失败,那么它将抛出NumberFormatException。如果它是一个数字,那么检查它是奇数吗?如果不奇怪,那么它也会抛出异常。

    希望这会对你有所帮助。

    谢谢:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多