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

求大神指教,不知道哪里出了问题,如果首次输入的数据不是整型,后面就算输入整型也报错?

    do{
        System.out.println("请输入第一名参赛者的信息:");
        System.out.println("请输入参赛者ID:");
        try{
            flag = 0;
            id =  scanner.nextInt();
            }catch(InputMismatchException e){
                flag = 1;
                System.out.println("输入的数据非整型,请重新输入!");    
            }
    }while(flag == 1);


正在回答

3 回答

试试每次循环都使用一个新的scanner,像这样

do {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入第一名参赛者的信息:");
    System.out.println("请输入参赛者ID:");
    try {
        flag = 0;
        id = scanner.nextInt();
    } catch (InputMismatchException e) {
        flag = 1;
        System.out.println("输入的数据非整型,请重新输入!");
    }
} while (flag == 1);


0 回复 有任何疑惑可以回复我~
#1

行走者iris 提问者

我试过已经ok了,谢谢你了。
2017-02-17 回复 有任何疑惑可以回复我~

我想达到的效果是,如果输入的不是整型,则打印提示,重新输入。现在的情况是,我首次输入为整型,那么不会报错,但是如果首次输入字符串,提示输入错误后,再输入整型,程序还是会进入catch里面捕获到异常。

0 回复 有任何疑惑可以回复我~

报什么错

0 回复 有任何疑惑可以回复我~
#1

行走者iris 提问者

我想达到的效果是,如果输入的不是整型,则打印提示,重新输入。现在的情况是,我首次输入为整型,那么不会报错,但是如果首次输入字符串,提示输入错误后,再输入整型,程序还是会进入catch里面捕获到异常。
2017-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求大神指教,不知道哪里出了问题,如果首次输入的数据不是整型,后面就算输入整型也报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信