A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*
  2. 需求:获取一个字符串在另一个字符串中出现的次数例如"abkkcdkkefkkskk"
  3. 思路:1、定义一计数器
  4.           2、获得字符串第一次在另个字符中出现的位置
  5.           3、从第一次出现的位置后剩余的字符串中继续获取字符串出现的次数,每出现一次,计数器就加一次
  6.           3、当获取不到时候,计数停止
  7. */
  8.         class StringTestDemo
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 method_getCount();
  13.         }
  14.         public static void method_getCount()
  15.         {
  16.                 String s1="abkkcdkkefkkskk";
  17.                 System.out.println(getCount(s1,"kk"));
  18.         }
  19.         public static int getCount(String str,String key)
  20.         {
  21.                 int count=0;
  22.                 int index=0;
  23.                 while((index=str.indexOf(key))!=-1)
  24.                 {       
  25.                         str.substring(index+key.length());
  26.                         count++;
  27.                         System.out.println(index);
  28.                 }
  29.                 return count;
  30.         }
  31. }
复制代码


为什么结果陷入死循环????

2 个回复

倒序浏览
  1. class StringTestDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 method_myTrim();
  6.                 method_reverse();
  7. //                method_getCount();
  8.                 method_getCount2();
  9.         }
  10. /************************************************************************************************/
  11.         public static void method_myTrim()//自己定义函数实现去除字符串两边的空格
  12.         {
  13.                 String s1=" abc ";
  14.                 System.out.println(s1);
  15.                 System.out.println("("+myTrim(s1)+")");       
  16.         }
  17.         public static String myTrim(String str)
  18.         {
  19.                 int start=0,end=str.length()-1;
  20.                 while(start<=end && str.charAt(start)==' ');
  21.                 start++;
  22.                 while(start<=end && str.charAt(end)==' ');
  23.                 end--;
  24.                 return str.substring(start,end+1);
  25.         }
  26. }还有这个字符串两边去空格的,也不可以,是不是substring的使用出现错误了??
复制代码

点评

还有这个字符串两边去空格的,也不可以,是不是substring的使用出现错误了??  发表于 2015-7-17 23:10
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马