gpt4 book ai didi

java - 在输入错误值后要求用户再次输入。输入不匹配异常?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:52 25 4
gpt4 key购买 nike

我创建了以下类来输入用户的年龄,然后在控制台中显示适当的信息。

在运行这个程序时,控制台会询问“请输入您的年龄:”

如果用户输入整数,例如:25,执行的类会在控制台中显示“您的年龄:25”。

如果用户输入非整数,控制台显示:年龄应该是一个整数请输入您的年龄:

但是当我将光标放在“请输入您的年龄:”旁边时,我无法通过键盘输入任何内容。

我希望用户能够再次输入他的年龄,如果他输入一个整数,它会显示正确的输出,但如果他输入一个非整数,控制台应该再次询问他的年龄。

如果您查看我的代码,我会通过在主函数的 else block 内调用函数 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;
}
}
}

最佳答案

如果您希望代码执行多次(直到用户输入有效年龄),您应该将代码放入循环中:

public static void main(String[] args)
{
int age = checkAge();
while (age == 0) {
System.out.println("Age should be an integer");
userinput.nextLine();
age = checkAge();
}

System.out.println("Your age is : " + age);
}

关于java - 在输入错误值后要求用户再次输入。输入不匹配异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com