如果输入的不是Java

时间:2019-03-13 09:59:46

标签: java

如何使用try and 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();
    }
}

2 个答案:

答案 0 :(得分:0)

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:

     

a

     

无效号码

答案 1 :(得分:0)

您的代码会像下面这样:

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

在将输入作为String之后。然后转换为整数。如果转换失败,它将抛出NumberFormatException。如果是数字,则检查是否为奇数?如果不奇怪,那么它还会引发异常。

希望这会对您有所帮助。

谢谢:)