我创建了以下用于输入用户年龄的类,然后在控制台中显示适当的信息.
运行此程序时,控制台会询问“请输入您的年龄:”
如果用户输入整数,例如:25,则执行的类在控制台中显示“ Your age is:25”.
如果用户输入非整数,则控制台将显示:
年龄应该是整数
请输入您的年龄:
但是,当我将光标放在“请输入您的年龄:”旁边时,我无法通过键盘输入任何内容.
我希望用户能够再次输入他的年龄,&如果他输入一个整数,它将显示正确的输出,但是如果他输入一个非整数,则控制台应再次询问他的年龄.
如果您看一下我的代码,我将通过在我的主函数中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;
}
}
}