黑马程序员技术交流社区

标题: 今天写的小程序 算出0到1000之间6出现的次数 大神指点一二 [打印本页]

作者: fanlelong    时间: 2016-4-15 23:16
标题: 今天写的小程序 算出0到1000之间6出现的次数 大神指点一二
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);
        }

}
作者: yaolv7    时间: 2016-4-16 01:27
  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....





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2