由于异常处理导致的Infinte循环

时间:2018-05-12 09:35:20

标签: java exception-handling java.util.scanner

在这个程序中,我正在从用户那里获取数据。如果用户输入任何其他内容而不是整数,则会引发异常。我抓住异常并在catch块中再次调用data()方法,以便用户输入正确的数据。但是,当我输入错误的数据程序时,无法进入infinte循环。我是编程新手,请帮助。

static Scanner sc;
static double n1;
static double n2;
static String operation;

static void data()
{
    try
    {
    System.out.println("Enter first number");
    n1=sc.nextInt();
    sc.nextLine();

    System.out.println("Enter second number");
    n2=sc.nextInt();
    sc.nextLine();

    System.out.println("Enter operation you want to perform");
    operation=sc.nextLine();
    }

    catch(Exception e)
    {
        System.err.println("Wrong data entered!! \n Please enter right data");
        data();
    }

}

0 个答案:

没有答案