使用try/catch块时出现Java无限循环
我被这段代码困在一个无限循环中。当输入无效输入(如“a”而不是整数)时,程序会生成无数行“输入数字1>请输入数字”。 我不知道我的布尔变量出了什么问题,我觉得一切都很好。请检查一下,非常感谢使用try/catch块时出现Java无限循环,java,exception-handling,infinite-loop,Java,Exception Handling,Infinite Loop,我被这段代码困在一个无限循环中。当输入无效输入(如“a”而不是整数)时,程序会生成无数行“输入数字1>请输入数字”。 我不知道我的布尔变量出了什么问题,我觉得一切都很好。请检查一下,非常感谢 import java.util.*; public class Adder{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); boolean correctIn
import java.util.*;
public class Adder{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
boolean correctInput=false;
while(!correctInput){
try{
System.out.print("Enter number 1> ");
int num1=sc.nextInt();
System.out.print("Enter number 2> ");
int num2=sc.nextInt();
System.out.println("Sum = "+(num1+num2));
correctInput=true;
}
catch(InputMismatchException e){
System.out.println("Please enter a number.");
correctInput=false;
}
}
}
}
添加
sc.nextLine()代码>语句。如果需要重试,请添加sc.nextLine();否则,您也可以通过放置break来打破循环;catch块中的语句。可能重复