尝试捕获时执行

我陷入了无限循环...应该要求用户再次输入。请帮忙


public class Example {


    public static void main(String[] args) {


        Scanner input = new Scanner(System.in);

        int num = 0;

        do {

            try {

                System.out.print("Enter number : ");

                num = input.nextInt();

            } catch (Exception e) {

                System.out.println("Enter number only !!!");

            }

        } while (num != 5);

    }


}


万千封印
浏览 192回答 3
3回答

拉莫斯之舞

为了退出do-while循环,您需要输入数字 5

杨魅力

发生这种情况是因为您正在将一个NON-Number与while(num!= 5)中的一个数字进行比较。由于Exception的原因,另一个输入没有从用户那里获取,并且先前的NON-Number输入被保存到'num'变量中,因此无限次数出现Exception并执行catch(){}。

炎炎设计

我没明白你要做什么。你做的事情应该是什么意思?无论如何,如果要检查用户输入的数字是否为NUMERIC而不是非数字,则应该执行System.out.print("Enter Number ");  Scanner input = new Scanner(System. in);  try {   String str = input.next();  int x=  Integer.parseInt(str);         }  catch(Exception e) {   System.out.print("Type a Number, Not String");               }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java