protected int readInt(String prompt) {
try {
System.out.print(prompt);
int i = keyboard.nextInt();
keyboard.nextLine();
return i;
} catch (java.util.InputMismatchException e) {
System.out.println("Error: Insert a number.");
}
}
嗨! Eclipse 在方法 readInt() 中给我这个错误:“此方法必须返回类型为 int 的结果。”并给出示例解决方案“添加返回语句”和“将返回类型更改为无效”。我试图将 return i 语句放在 try-and-catch 循环之外,但是当我这样做时,return 语句找不到变量 i。
我已经为此苦苦挣扎了一段时间,但似乎无法让它发挥作用...我将不胜感激任何帮助!谢谢。
最佳答案
想想如果发生 InputMismatchException
会发生什么。
您的代码将捕获它,打印“错误:插入数字。”
。然后什么?您的函数被声明为返回一个 int,并且它有一个不返回任何内容的路径。
您应该返回一个无法以其他方式返回的值并指示错误,或者重新抛出异常。
关于java - 尽管我有一个 Eclipse 要求返回声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21171737/