如何使用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();
}
}
答案 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
。如果是数字,则检查是否为奇数?如果不奇怪,那么它还会引发异常。
希望这会对您有所帮助。
谢谢:)