java - 由于异常处理导致的无限循环
问题描述
在这个程序中,我从用户那里获取数据。如果用户输入其他任何内容而不是整数,则会引发异常。我捕获了异常,并在 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();
}
}
解决方案
推荐阅读
- javascript - 从服务器端调用多个数组函数但未被调用
- sql - Postgresql:在匹配 id 的同时插入另一个表中的值
- git - Git如何将当前分支更新到主分支
- android - 使用 RecycledViewPool 时适配器错误
- python - Python 在后台捕获键盘输入并处理它
- c++ - 为什么构造函数返回一个空向量?
- javascript - 限制 React 组件中显示的字符串长度
- python - 从 psycopg2 将记录传递给 postgres 过程
- node.js - Node JS AWS Lambda 到打印机的连接不起作用?无法从 lambda 节点 js 触发打印作业
- onclick - 如何使用 registerDocumentFormattingEditProvider 使用自定义语言在 monaco-editor 中手动缩进代码?