关闭

关于统计课本页数出现数字的问题【举一反三】

337人阅读 评论(0) 收藏 举报

计数器

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 85     通过数: 23 

【题目描述】一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9。其中—个页码不含多余的0,如N=1234时第5页不是0005,只是5。

【输入】
一个正整数N(N≤109),表示总的页码。

【输出】
共十行:第k行为数字k-1的个数。

【输入样例】
11

【输出样例】
1
4
1
1
1
1
1
1
1
1

 

import java.util.*;

/*主要思想:
 * 1.将键盘输入的数字存放在字符串中
 * 2.将字符串中的数字转换成int类型,为了循环时取到每个小于键盘输入的数
 * 3.将每次取到的数字存放到字符数组中,并通过数组下标读取每位存放的数字
 * 4.在字符数组中进行判断
 * 5.打印输出
 *  
 */
public class Demo_3_22 {

 public static void main(String[] args) {
  int count1 = 0, count2 = 0, count3 = 0, count4 = 0;
  int count5 = 0, count6 = 0, count7 = 0, count8 = 0, count9 = 0;
  int count10 = 0;
  char[] ch = null;
  System.out.print("用户请输入:");
  Scanner x = new Scanner(System.in);
  String str = x.next();
  //int k = Integer.parseInt(str);  //将输入的字符串转换成 int 类型 为下面的for循环做准备
   int k=Integer.valueOf(str).intValue();
  //System.out.println("k=" + k);
  String a = "";
  for (int j = 1; j <= k; j++) {
   a = Integer.toString(j) ;   //将每次取到的数字转换成字符串类型
   ch = a.toCharArray();   //将字符串类型转换成字符类型,并存放到字符数组中
  // System.out.println("a=" + a);
   for (int i = 0; i < ch.length; i++)  {
    if (ch[i] == '0') {
     count1++;

    } else if (ch[i] == '1') {
     count2++;
    } else if (ch[i] == '2') {
     count3++;
    } else if (ch[i] == '3') {
     count4++;

    } else if (ch[i] == '4') {
     count5++;

    } else if (ch[i] == '5') {
     count6++;

    } else if (ch[i] == '6') {
     count7++;
    } else if (ch[i] == '7') {
     count8++;

    } else if (ch[i] == '8') {
     count9++;
    } else if (ch[i] == '9') {
     count10++;
    }
   }

  }

  System.out.println("0出现的个数:" + count1);
  System.out.println("1出现的个数:" + count2);
  System.out.println("2出现的个数:" + count3);
  System.out.println("3出现的个数:" + count4);
  System.out.println("4出现的个数:" + count5);
  System.out.println("5出现的个数:" + count6);
  System.out.println("6出现的个数:" + count7);
  System.out.println("8出现的个数:" + count9);
  System.out.println("9出现的个数:" + count10);

 }

}

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:108209次
    • 积分:2316
    • 等级:
    • 排名:第16149名
    • 原创:126篇
    • 转载:12篇
    • 译文:0篇
    • 评论:17条
    最新评论