Java에서 내 목표는 문자열에서 "cat"의 발생 횟수를 true로 반환하는 것이 "dog"의 발생 횟수와 같습니다.문자열에서 하위 문자열의 발생 수 (Java)
public boolean catDog(String str) {
int matches = 0, matches2 = 0;
for(int i = 0; i < str.length()-2; ++i)
{
if(str.substring(i,i+3)=="cat")++matches;
if(str.substring(i,i+3)=="dog")++matches2;
}
if(matches==matches2)return true;
return false;
}
str이 정확히 "dog"또는 "cat"이 아닌 한 항상 true를 반환합니다 (카운터가 증가하지 않을 수도 있음). 왜?
아를 시도, 조금 주위에 엉망이 ("고양이") .equals이 필요하다는 것을 발견하지 ==. –
당신은 그것을 가지고 있습니다. .equals not == – bwegs