小编Sta*_*mir的帖子

尝试捕获时无限发挥

当我尝试在循环中执行try-catch语句时遇到问题.我要求用户首先输入字母然后输入一个数字,如果他正确输入数字,程序结束.如果他输入字母而不是数字,程序应该说"发生错误请输入数字"并要求用户再次输入数字,但每次输入字母而不是数字时,程序进入无限循环,不允许我输入新值.然后去"发生错误你必须输入数字""请输入数字".

public class OmaBrisem {

    public static void main(String[] args) {
        Scanner tastatura = new Scanner(System.in);
        boolean b = true;
        int a = 0;
        String r = "";
        System.out.println("Please enter a letter");
        r = tastatura.next();
        do {
            try {
                System.out.println("Please enter numerical value");
                a = tastatura.nextInt();
                b = true;
            } catch (Exception e) {
                System.out.println("An error occured you must enter number");
                b = false;
            }
        } while (!b);

    }

}
Run Code Online (Sandbox Code Playgroud)

java try-catch infinite do-while

3
推荐指数
1
解决办法
78
查看次数

标签 统计

do-while ×1

infinite ×1

java ×1

try-catch ×1