wat*_*ura 0 java logic if-statement
public String withoutEnding(String str){
return (boolean)(str.length() <= 2) && "" || str.substring(1,str.length() - 1);
}
Run Code Online (Sandbox Code Playgroud)
而不是
public String withoutEnding(String str){
if (str.length <= 2)
return "";
else return str.substring(1,str.length() - 1)
}
Run Code Online (Sandbox Code Playgroud)
它会出错,第一个.我在我的AP计算机科学课上开始学习Java,虽然我对编码有一些了解,但这让我感到烦恼,我不知道如何在Google上搜索我的问题,如果可以在另一篇文章中找到,那就很抱歉.
但只是想知道为什么第一个不起作用.
在&&和||逻辑运算符只对工作boolean价值. ""并且str.substring(1,str.length() - 1)不是boolean,所以这是一个编译器错误.
编写所需内容的有效,紧凑的方法是使用?:三元运算符(在该链接页面中向下滚动一半):
return (str.length() <= 2) ? "" : str.substring(1, str.length() - 1);
Run Code Online (Sandbox Code Playgroud)
表格基本上是, condition ? trueValue : falseValue