【发布时间】:2019-08-29 10:35:47
【问题描述】:
我改进了 CodingBat 中 startOz 任务的解决方案。我从前一个中找到了更好的解决方案,当我测试它时,我在一个测试用例中得到了一个意想不到的解决方案。
public String startOz(String str) {
String result = (str.indexOf('o') == 0 ? "o" : "").concat(str.indexOf('z') == 1 ? "z" : "");
return result;
}
// test case:
String str = "zzzz";
System.out.println("test=" + startOz(str));
我不明白为什么我期望得到 test=z 时却得到空字符串作为结果
【问题讨论】:
-
你在另一个方法中有一个方法。这只是一个错字吗?
-
调试我要说的代码!
-
请创建一个完整而具体的minimal reproducible example。
-
str.indexOf('z')不会返回1如果str=="zzzz",它将是0 -
您假设每个人都知道
startOz任务是什么,以及之前的解决方案是什么。请edit您的问题并添加链接和简短描述(以防链接及时消失)。 StackOverflow 上的问题不仅适合您,也适合所有即将到来的程序员。
标签: java string if-statement char jvm