试图解决这个问题.我创建了一个方法,用于检查用户是否使用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;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当carryOn== false时,它将转到方法的底部,那里没有return语句.您需要在底部有一个return语句.
以下是对错误的解释:如果函数说它返回某些东西(int在这种情况下是一个),这意味着它可以采取的每个路径必须返回一个int.您错过了其中一个编译时错误的路径.