小编sta*_*110的帖子

Codingbat.com上的catDog字符串问题

谁能检查我的解决方案?

如果字符串“ cat”和“ dog”在给定的字符串中出现相同的次数,我想返回true。有各种字符串,它们的“ cat”和“ dog”数目不同。

public boolean catDog(String str) 
{  
  int catAnswer = 0;
  int dogAnswer = 0;
  int cat_Count = 0;
  int dog_Count = 0;

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


    if ((sub.equals("cat")))  cat_Count++;
    if ((sub.equals("dog")))  dog_Count++;
    catAnswer = cat_Count; 
    dogAnswer = dog_Count;

  } //end for

  if(dogAnswer == catAnswer ) {return true;}
  // else
  return (dogAnswer != catAnswer);
}
Run Code Online (Sandbox Code Playgroud)

更新:

  1. 如果我使用i + 3,则会收到错误代码Exception:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:7(行号:10)-因此,我使用i + 2(没有错误报告)

  2. 更改为i <str.length()-4可以得到全真响应,尽管某些测试字符串包含不相等数量的“ cat”和“ dog”标记

问题的症结在于,当各种字符串中存在“ cat”和“ dog”的可变数字时,响应要么全为真要么全为假 …

java string

3
推荐指数
1
解决办法
8329
查看次数

标签 统计

java ×1

string ×1