public String withoutEnding(String str){
return (boolean)(str.length() <= 2) && "" || str.substring(1,str.length() - 1);
}
而不是
public String withoutEnding(String str){
if (str.length <= 2)
return "";
else return str.substring(1,str.length() - 1)
}
这会错,第一个。我在AP计算机科学课上开始学习Java,虽然我对编码有一些了解,但这让我感到烦恼,我不知道如何在Google上搜索我的问题,如果可以在另一篇文章中找到,那就很抱歉
但只是想知道为什么第一个不起作用。
答案 0 :(得分:5)
&&
和||
逻辑运算符仅适用于boolean
值。 ""
和str.substring(1,str.length() - 1)
不是boolean
,因此编译错误。
一种有效,紧凑的写作方式是使用?:
ternary operator(在该链接页面中向下滚动一半):
return (str.length() <= 2) ? "" : str.substring(1, str.length() - 1);
表单基本上是condition ? trueValue : falseValue