黑马程序员技术交流社区

标题: 求100-1500里0一共出现了多少次? [打印本页]

作者: ping3014    时间: 2016-3-30 18:14
标题: 求100-1500里0一共出现了多少次?
敲了一天代码,思路有点乱,想看看大家有什么好的思路
作者: 眯眯神    时间: 2016-3-30 18:54
循环遍历100-1500的数,如果数小于1000,分别取出个位十位百位判断,如果大于1000,还要判断千位
先搞个结果出来再看看有什么好简化的
作者: huangyongtao    时间: 2016-3-30 21:15
/*
                先把每个数字转为字符串,然后统计里面的0 .计数器 ++
               
                */
                String str ="";                        //字符串
                int         count = 0;        //计数器
                for(int i = 100;i<=1500;i++){
                  str += i +"";

                }
                char [] ch = str.toCharArray(); //转化为字符数组
        //遍历并统计次数
        for(char c : ch){
                if(c == '0')
                        count++;
        }
                System.out.println(count);
        }
作者: 747844695    时间: 2016-3-30 21:52
1.用StringBuffer来存储这些数字,因为都转化成了字符串
2.将字符串转化成String类型(因为String类型有个替换功能)
3.用空字符串代替"0"
4.再用原来的字符串长度减去现在的长度就是0的个数
或者你不转化为String类型,用遍历自增也可以

作者: lyy0525    时间: 2016-3-30 21:59
过来学习一下
作者: lidandan    时间: 2016-3-30 22:40
过来学习一下思路
作者: ruigao1993    时间: 2016-3-31 15:25
public void test12(){
                int count=0;
                List<String> list=new ArrayList<String>();
                for(int i=100;i<=1500;i++){
                        String str=i+"";
                        list.add(str);
                }
                for(int j=0;j<list.size();j++){
                        boolean b=list.get(j).matches(".*0.*");
                        if(b==true){
                                System.out.print(list.get(j)+"\t");
                                if(count%10==0){
                                        System.out.println();
                                }
                                count++;
                        }
                }
                System.out.println("0一共出现"+count+"次");
        }
作者: 木丶子李    时间: 2016-3-31 17:17
来学习一下
作者: zhang3216858    时间: 2016-3-31 23:14
吧个十百千位的数都求出来就好做了
作者: 晴苑    时间: 2016-4-1 21:49
别看我,我只是来水一下的




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