【发布时间】:2016-07-31 16:07:19
【问题描述】:
我用Java写了以下代码,但是有一个错误说“线程中的异常”main“java.lang.Error:未解决的编译问题:”
public static int guessNum (int num){
if (num == 0){
throw new IllegalArgumentException();
}
if (num > 0){
return 1;
}
if (num < 0){
return 0;
}
}
当我将最后一个if 语句更改为else{return 0;} 时,错误消失了。
我想知道是否有办法将最后一个 if 语句保留为 if() 而不是 else{},因为我认为前者更具可读性。
编辑: 假设我在 main 方法中运行这个方法:
public static void main (String[] args){
System.out.println(guessNum(10));
}
发生错误:
线程“main”java.lang.Error 中的异常:未解决的编译问题: 此方法必须返回 int 类型的结果
【问题讨论】:
-
告诉我们确切的错误。
-
最后一个 if 是不必要的 - 以及 else。详情见我的回答。
标签: java if-statement syntax compilation compiler-errors