我被这段代码困在一个无限循环中。该程序生成无穷无尽的行"输入数字1>请输入一个数字。"当一个无效的输入像" a"输入而不是整数。 我不知道我的布尔变量有什么问题,一切对我来说都很好。请检查一下,非常感谢你。
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;
}
}
}
}
答案 0 :(得分:3)
在catch块中添加sc.nextLine();
语句。
答案 1 :(得分:0)
如果您需要重试,请添加sc.nextLine();否则你也可以通过休息来打破循环;在catch区块中的陈述。