以下 Java 无法运行,因为它缺少 return 语句。我不知道出了什么问题。有什么想法吗?
public String setusername(String u) {
if (username.length() > usernameLimit) {
System.out.println("overlimit");
} else {
return this.username = u;
}
}
即使我取出字符串 u 它也会给出相同的错误,如果我添加 int usernameLimit 它也会给出相同的错误。
最佳答案
您的代码使用分支(if 循环)。从编译器的角度来看,两个分支(即 if 和 else block )都可能被执行。 但返回仅在 else block 中。 因此编译器提示缺少返回。
解决方案1:尝试将 return 也放入 If block 中(根据您的要求)
解决方案2:将返回值移出 If-Else 结构。您可以使用变量来指定返回值,并在 if 或 else 中相应地填充它。
关于java - 缺少返回声明错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15727863/