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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hison_lian 中级黑马   /  2015-5-18 00:38  /  224 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

给定一个字符串找到子串在字符串中出现的次数。String s = “abcitcastabcxxxabc”中的“abc”

搞了半天感觉我编的有些小bug,怎样能更准确
public static void main(String[] args) {
                // 定义字符串
                String str = "abcitcastabcxxxabc";
int index = 0;
                int count = 0;

                int a = str.indexOf("abc", index);

                while (a >= 0) {

                        index = a + 3;
                        count++;
                        a = str.indexOf("abc", index);

                        if (a < 0) {
                                break;
                        }
                }
                System.out.println(count);

        }

}

1 个回复

正序浏览
  1. public class Test{
  2.         public static void main(String[] args){
  3.                 String str="abcitcastabcxxxabc";
  4.                 int count =0;
  5.                 int index=0;
  6.                 while(str.contains("abc")){
  7.                         if(index<str.length()){
  8.                                 index=str.indexOf("abc",index)+3;
  9.                                 count++;
  10.                         }else
  11.                                 break;
  12.                 }
  13.                 System.out.println(count);
  14.         }
  15. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马