黑马程序员技术交流社区
标题:
求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