首页 > 解决方案 > 由于异常处理导致的无限循环

问题描述

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

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();
    }

}

标签: javaexception-handlingjava.util.scanner

解决方案


推荐阅读