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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Demo2_array {

        /**
         * @param args
         */
        public static void main(String[] args) {
                String s="";
                for (int i = 0; i <=1000; i++) {
                        s=s+i;
                }
                System.out.println(s.length());
                String s1="6";
                int count =0;
                int index =0;
                while ((index = s.indexOf(s1))!=-1) {
                        count++;
                        s = s.substring(index +s1.length());                       
                }
                System.out.println(count);
        }

}

1 个回复

倒序浏览
  1. 其实你已经可以想到了,用substring会返回新的字符串,仅仅用就可以实现了
  2.        int indexOf(String str, int fromIndex)
  3.                 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
  4. 思路是一样的,都是递归思想,虽然用这个不会返回新字符串,但是,每次会改变int fromIndex的值
复制代码

这种方法还需要把数字转成字符串,如果不想转字符串,还可以用嵌套循环获取每个位的值再计数,比如
646  /1 %10 =6    计数器+1
646/10 % 10 = 4  
646/100 % 10 = 6  计数器+1

647....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马