L1-003 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M
的格式在一行中输出该位数字 D
及其在 N 中出现的次数 M
。要求按 D
的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
将输入的数值用字符串储存起来,再用length()判断字符串长度 ,然后用charAt()函数逐个输出字符串的字符即可。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String c=sc.nextLine();
int n=c.length();
int a[]= {0,0,0,0,0,0,0,0,0,0};
for(int i=0;i<n;i++) {
if(c.charAt(i)=='0')
a[0]++;
if(c.charAt(i)=='1')
a[1]++;
if(c.charAt(i)=='2')
a[2]++;
if(c.charAt(i)=='3')
a[3]++;
if(c.charAt(i)=='4')
a[4]++;
if(c.charAt(i)=='5')
a[5]++;
if(c.charAt(i)=='6')
a[6]++;
if(c.charAt(i)=='7')
a[7]++;
if(c.charAt(i)=='8')
a[8]++;
if(c.charAt(i)=='9')
a[9]++;
}
if(a[0]!=0)
System.out.println("0:"+a[0]);
if(a[1]!=0)
System.out.println("1:"+a[1]);
if(a[2]!=0)
System.out.println("2:"+a[2]);
if(a[3]!=0)
System.out.println("3:"+a[3]);
if(a[4]!=0)
System.out.println("4:"+a[4]);
if(a[5]!=0)
System.out.println("5:"+a[5]);
if(a[6]!=0)
System.out.println("6:"+a[6]);
if(a[7]!=0)
System.out.println("7:"+a[7]);
if(a[8]!=0)
System.out.println("8:"+a[8]);
if(a[9]!=0)
System.out.println("9:"+a[9]);
}
}