我的目标是在Java中,返回字符串中“cat”出现次数的真值等于“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;
}
它总是返回true(可能不会递增计数器),除非str完全是“狗”或“猫”。为什么?
啊,搞砸了一下周围,发现你需要.equals( “猫”),而不是==。 – 2014-09-27 22:25:03
你有它.. .equals不== == – bwegs 2014-09-27 22:25:42