我不会撒谎,这是我的AP计算机科学课的作业。但是我和我的老师谈过了,他也弄不明白。为什么我的Codingbat String-2 EndOther的代码不工作?
所以我在做Java CodingBat问题String-2 endOther here,我不知道为什么我的代码无法正常工作。
挑战的目标是确定一个字符串是否出现在另一个字符串的最后。如果是,则返回true,否则返回false。例如:如果字符串是“Hiabc”和“abc”,它将返回true,但由于“bc”不是结尾,所以“Hiabcx”和“bc”将返回false。 注:案例无关紧要。
我的代码适用于除“其他测试”之外的所有运行示例。我可能已经能够弄清楚如何解决它,除了我不知道它运行的是什么“其他测试”。那么对此有何帮助?这里是我的代码:
public boolean endOther(String a, String b) {
a = a.toLowerCase();
b = b.toLowerCase();
if (a.contains(b) && a.indexOf(b) == a.length() - b.length()) {
return true;
} else if (b.contains(a) && b.indexOf(a) == b.length() - a.length()) {
return true;
} else {
return false;
}
}
谢谢!
两件事。首先,如果您没有失败的测试用例,我不确定您认为我们可以如何帮助您。其次,为什么不在你的String上使用'endsWith'方法? –
@JoeC:你可以在CodingBat上自己运行测试;这个测试在一个不知名的“其他”盒子中失败了,这个盒子可能会令人沮丧地发现。 – Makoto
我正在考虑沿着“边缘案例”的路线;即如果您的输入为空或空白,会发生什么情况,但问题并未指定该行为。 – Makoto