思路:
将给定的数字按照每位拆分为单个数字然后保存在list中,每碰到一个相同的数字就值加一,扫描完整个字符串后遍历输出list集合即可
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String N = sc.next();
char[] chars = N.toCharArray();
/**
* list***有10个item表示0-9,每个item的值表示数字的个数
*/
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(0);//初始化每个item都是0
}
for (int i = 0; i < chars.length; i++) {
// 每遇到一个数字,就把值+1
list.set(chars[i]-'0',list.get(chars[i]-'0')+1);
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i)>0){
System.out.println(i+":"+list.get(i));
}
} }
}
import java.util.Scanner;
public class Test3 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String string=sc.next();
func(string);
}
public static void func(String s ){
char[] ch=s.toCharArray() ;
//用来存储每个元素出现的次数
int[] countNumber=new int[10];
//统计每个元素的个数
for(int i=0;i<ch.length;i++){
countNumber[ch[i]-'0']++;
}
//对元素进行回收--排序输出
for(int i=0;i<countNumber.length;i++){
if(countNumber[i]!=0) {
System.out.println(i + ":" + countNumber[i]);
}
}
}
}