Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用try/catch块时出现Java无限循环_Java_Exception Handling_Infinite Loop - Fatal编程技术网

使用try/catch块时出现Java无限循环

使用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

我被这段代码困在一个无限循环中。当输入无效输入(如“a”而不是整数)时,程序会生成无数行“输入数字1>请输入数字”。 我不知道我的布尔变量出了什么问题,我觉得一切都很好。请检查一下,非常感谢

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块中的语句。

可能重复