为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止用户输入除 int 以外的任何内容

如何防止用户输入除 int 以外的任何内容

回首忆惘然 2021-12-30 20:45:35
我试图创建一个简单的程序,用户输入一个整数,如果它不是一个整数,它会打印出发生错误并且程序循环直到用户输入一个整数。我找到了这个 try-catch 解决方案,但它不能正常工作。如果用户不输入整数,程序将无限循环。正确的解决方案是什么?Scanner input = new Scanner(System.in);int number;boolean isInt = false;while(isInt == false){    System.out.println("Enter a number:");    try    {        number = input.nextInt();        isInt = true;    }    catch (InputMismatchException error)    {        System.out.println("Error! You need to enter an integer!");    }}
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

你很接近。


解析字符串比尝试从 获取 int 更容易失败,Scanner因为扫描器将阻塞,直到它获取int.


Scanner input = new Scanner(System.in);

int number;

boolean isInt = false;

while (isInt == false) {


    System.out.println("Enter a number:");

    try {

        number = Integer.parseInt(input.nextLine());

        isInt = true;

    } catch (NumberFormatException error) {

        System.out.println("Error! You need to enter an integer!");

    }


}


查看完整回答
反对 回复 2021-12-30
  • 1 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信