0
 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 搜索我的问题,如果这可以在另一篇文章中找到,请见谅.

但只是想知道为什么第一个不起作用。

4

1 回答 1

5

和逻辑运算符仅适用于&&值。 不是,所以这是一个编译器错误。||boolean""str.substring(1,str.length() - 1)boolean

编写所需内容的一种有效、紧凑的方法是使用?:三元运算符(在该链接页面中向下滚动大约一半):

return (str.length() <= 2) ? "" : str.substring(1, str.length() - 1);

形式基本上是,condition ? trueValue : falseValue

于 2013-10-17T23:20:31.597 回答