Javabat子串计数

1 java substring

public boolean catDog(String str)
{
   int count = 0;

   for (int i = 0; i < str.length(); i++)
   {
      String sub = str.substring(i, i+1);

      if (sub.equals("cat") && sub.equals("dog"))
         count++;
   }

   return count == 0;
}
Run Code Online (Sandbox Code Playgroud)

有我的catDog代码,已经工作了一段时间而且无法找出问题所在.非常感谢帮助!*/

编辑 - 如果字符串"cat"和"dog"在给定字符串中出现的次数相同,我想返回true.

Ros*_*ant 6

一个问题是,这永远不会成真:

if (sub.equals("cat") && sub.equals("dog"))
Run Code Online (Sandbox Code Playgroud)

&&意味着和.|| 意思是.

但是,另一个问题是你的代码看起来像是在随意试图让它工作.每个人在他们的第一个编程课程中都会在某种程度上这样做,但这是一个坏习惯.尝试在编写任何代码之前想出如何解决问题的清晰心理图,然后编写代码,然后验证代码是否实际执行了您认为应该执行的操作以及初始解决方案是否正确.

编辑:我已经说过,你已经澄清了你的功能应该做什么.您解决问题的方法不正确,因此您需要重新思考如何解决问题,而不是实施.