指定された文字列の途中にxyzがあるかどうかを確認するコードを書いています。これは、xyzが1回出現する場合は機能しますが、複数回出現する場合は常に機能するとは限りません。
public boolean xyzMiddle(String str) {
if (str.length() <= 2) {
return false;
}
int count1 = 0;
int count2 = 0;
for (int i=(str.length()-2)/2; i<str.length()-2; i++) {
if (str.substring(i, i+3).equals("xyz")) {
count1 = str.substring(0, i).length();
count2 = str.substring(i+3).length();
}
}
if (count1 == count2 || count1+1 == count2 || count2+1 == count1) {
return true;
}
return false;
}