统计数字 【循环】【数组】
给定一个自然数 N,统计出所有不超过 N 的正整数中数字 0 到 9 出现的次数,并且依次打印出来每个数字出现的次数(0~9),用空格隔开。
输入
10
输出
1 2 1 1 1 1 1 1 1 1
(解释:在1到 10 中,只有数字 1 在整数 1 和10中重复出现了两次,其他数字都只出现了一次)
样例输入
100
样例输出
11 21 20 20 20 20 20 20 20 20
认真看注释....
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt(); //输入num
int[] arr = new int[10]; //是个数组分别代表 0 1 2 3 4 .....9
for(int i = 1;i<=num;i++) { //i是经过num的所有数
int x = i; //定义临时变量x 装i
while (x != 0) { //当x不等于0时 我就循环 --后面有除位数操作。
arr[(x % 10)]++; // 取各个位数累加进数组Arr
x /= 10; //每次都除掉一个0
}
}
String str = "";
for(int i = 0;i<arr.length;i++)
{
str+=arr[i] + " ";
}
System.out.print(str.trim());
}
}
作者:咸瑜