我创建了以下类用于输入用户的年龄,然后在控制台中显示适当的信息。
运行此程序时,控制台会询问“请输入您的年龄:”
如果用户输入一个整数,例如: 25 ,则执行的类会在控制台中显示“您的年龄是:25”。
如果用户输入非整数,控制台会显示:Age should be an Integer Please Enter your Age:
但是当我将光标放在“请输入您的年龄:”旁边时,我无法通过键盘输入任何内容。
我希望用户能够再次输入他的年龄,如果他输入一个整数,它会显示正确的输出,但如果他输入一个非整数,控制台应该再次询问他的年龄。
如果您查看我的代码,我将通过在我的主函数的 else 块中调用函数 checkAge() 来设置变量“age”的值。
谁能告诉我哪里出错了?
public class ExceptionHandling{
static Scanner userinput = new Scanner(System.in);
public static void main(String[] args){
int age = checkAge();
if (age != 0){
System.out.println("Your age is : " + age);
}else{
System.out.println("Age should be an integer");
age = checkAge();
}
}
public static int checkAge(){
try{
System.out.print("Please Enter Your Age :");
return userinput.nextInt();
}catch(InputMismatchException e){
return 0;
}
}
}