您的位置:首页 > 其它

统计数字问题

2012-05-01 23:39 274 查看

public class Test1_1 {

/**
* 问题描述:一本书的页码从自然数1开始顺序编码直到自然数n。书做的页码通常的习惯编排,每个
* 页码都不含多余的前导数字0。例如,第六页用数字6表示,而不是06或者006等。
* 数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0~9
*
*算法设计如下
*/

public void count(int total){
int a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;//定义十个整型数字用来分别计算0~9出现的次数
for(int i=1;i<=total;i++){
String str=""+i;//转成字符串
char[] ch=str.toCharArray();//将字符串转换为字符数组
for(int j=0;j<ch.length;j++){
switch (ch[j]) {
case '0':a0++;break;
case '1':a1++;break;
case '2':a2++;break;
case '3':a3++;break;
case '4':a4++;break;
case '5':a5++;break;
case '6':a6++;break;
case '7':a7++;break;
case '8':a8++;break;
case '9':a9++;break;
default:
break;
}
}

}

System.out.println("0出现的次数为:"+a0);
System.out.println("1出现的次数为:"+a1);
System.out.println("2出现的次数为:"+a2);
System.out.println("3出现的次数为:"+a3);
System.out.println("4出现的次数为:"+a4);
System.out.println("5出现的次数为:"+a5);
System.out.println("6出现的次数为:"+a6);
System.out.println("7出现的次数为:"+a7);
System.out.println("8出现的次数为:"+a8);
System.out.println("9出现的次数为:"+a9);
}

/**
* @param args
*/

public static void main(String[] args) {
// TODO Auto-generated method stub
Test1_1 test=new Test1_1();
test.count(12);
}

}
运行结果如下:

0出现的次数为:1

1出现的次数为:5

2出现的次数为:2

3出现的次数为:1

4出现的次数为:1

5出现的次数为:1

6出现的次数为:1

7出现的次数为:1

8出现的次数为:1

9出现的次数为:1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: