0 java
我是java的新手.
这是我的代码:
public boolean endsLy(String str) {
if(str.length()>=2){
if(str.substring(str.length()-2).equals("ly")) return true;
}
else return false;
}
Run Code Online (Sandbox Code Playgroud)
但编译器给出:
Error: public boolean endsLy(String str) {
This method must return a result of type boolean
Run Code Online (Sandbox Code Playgroud)
可能的问题:if语句结构理论上可以允许运行到达方法的末尾而不调用return.
考虑在方法中添加最后一行返回some_value; 所以总是返回一个值.
你不是在哪里处理分支(str.length()>=2,但是!str.substring(str.length()-2).equals("ly").else从最终return声明中删除:
public boolean endsLy(String str) {
if(str.length()>=2){
if(str.substring(str.length()-2).equals("ly")) return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
一个更简单的替代方案(也不太容易出现你遇到的那种错误),只有一个return语句:
public boolean endsLy(String str) {
return str.length()>=2 && str.substring(str.length()-2).equals("ly");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |