我不會撒謊,這是我的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