题目描述:
给定一个k位整数N=dk-1*10k-1 +...+ d*101 + do (0<=d<=9 1 -..k1, dk -0),请编写程序统计每种不同的个位数字出现的次数。
例如:给定N= 100311, 2个0,3个1, 和1个3.
输入描述:
每个输入包含1个测试用例,即一个不超过1000位的正整数N
输出描述:
对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。
示例:
输入:
10031
输出:
0:3
1:2
3:1
分析:
数字(0~9)的ASCLL码是在48到57之间,所以用ASCLL码-48(或者直接减去'0')来记录数字,把这些数字出现的次数记录在一个数组
import java.util.Scanner;
public class Main {
static int[] a =new int[10];
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
for(int i =0;i<str.length();i++){
a[str.charAt(i)-48]++;
}
for(int i = 0;i<a.length;i++){
if(a[i]!=0){
System.out.println(i+":"+a[i]);
}
}
}
}