缺少方法中的return语句

时间:2013-11-04 18:35:00

标签: java return

试图解决这个问题。我创建了一个方法来检查用户是否使用catch块输入了一个整数。

该方法显然要求返回语句,但无论我把它放在哪里它都不起作用。有人可以提供任何建议吗?

public class Week5 {

    public static void main(String[] args) {
        Scanner myKeyboard = new Scanner(System.in);
        inputInt();
        inputDouble();
    }

    public static int inputInt(){
        Scanner myKeyboard = new Scanner(System.in);

        System.out.println("Enter number:");

        int num;

        boolean carryOn = true;

        while (carryOn == true) { 
            {
                try { 
                    num = myKeyboard.nextInt();

                    carryOn = false;
                }
                catch (Exception e) {System.out.println ("Integers only, try again" ); 

                myKeyboard.next();
                return num;    
            }           
        }
    }
}

1 个答案:

答案 0 :(得分:5)

carryOn == false时,它会转到方法的底部,那里没有返回语句。你需要在底部有一个return语句。

以下是对错误的解释:如果函数说它返回了某些内容(在这种情况下为int),则意味着它可以采用的每个路径都必须返回int。您错过了其中一个编译时错误的路径。