Как вы решаете это, используя цикл? и что лучше, для цикла или просто lastIndexOf
?Как решить это упражнение, используя for-loop?
Вот проблема и три тестовых случая:
Даны две строки, возвращает истину, если любой из строк появляется в самом конце другой строки, игнорируя верхний/нижний различия регистра (другими словами, вычисление не должно быть «чувствительным к регистру»). Примечание: str.toLowerCase() возвращает строчную версию строки.
endOther ("Hiabc", "ABC") → истинной
endOther ("ABC", "HiaBc") → истинной
endOther ("ABC", "abXabc") → истинная
Вот мой код:
public boolean endOther(String a, String b) {
String newA = a.toLowerCase();
String newB = b.toLowerCase();
if(a.length() >= b.length() && newA.lastIndexOf(newB) == (a.length() - b.length())) return true;
if(b.length() >= a.length() && newB.lastIndexOf(newA) == (b.length() - a.length())) return true;
return false;
}
или [.endsWith] (http://www.tutorialspoint.com/java/java_string_endswith.htm) – chancea