返回true,如果字符串「貓」和「狗」的出現給定的字符串中的相同的次數。遍歷字符串數組
貓狗( 「貓狗」)→真
貓狗( 「catcat」)→假
貓狗( 「1cat1cadodog」)→真
public boolean catDog(String str) {
int countCat=0;
int countDog=0;
for(int i=0;i<str.length()-3;i++){
if(str.substring(i).startsWith("cat")){
countCat++;
}
if(str.substring(i).startsWith("dog")){
countDog++;
}
}
if(countCat==countDog){
return true;
}
else{
return false;
}
}
我無法寫這個方法。有人知道爲什麼我的代碼無法正常工作嗎? 編輯:代碼編譯,但它會給出錯誤的輸出。例如,如果我把「貓狗」,它返回false。
你檢查,你重複的次數正確的金額是多少?因爲你目前沒有。 – Tom
我明白了,我明白了。我正在使用子字符串(i,i + 3),並且在開始使用startsWith時忘記更改迭代步驟的長度。 – DerDieDasEhochWas