import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Demo03 {
public static void main(String[] args) {
int num;
String str="";
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个不超过 1000 位的正整数 N");
while(scanner.hasNextInt()){
num=scanner.nextInt();
str=String.valueOf(num);//整数转字符串
Map<Character, Integer> map=new TreeMap<>();//创建TreeMap实例(有序)
//遍历字符串
for (char c : str.toCharArray()) {
int count=map.get(c)!=null ? map.get(c):0;//获取已保存的数值
count+=1;
map.put(c,count);//会自动覆盖已有键值
}
//遍历map
for(Map.Entry<Character, Integer> entry:map.entrySet()){
System.out.print(entry.getKey()+":");
System.out.println(entry.getValue());
}
// // 使用Lambda表达式遍历Map集合
// map.forEach((key,value)->{
// System.out.print(key+"\t");
// System.out.println(value);
// });
System.out.println("请输入一个不超过 1000 位的正整数 N");
}
System.out.println("格式不正确,结束运行!");
scanner.close();
}
}
结果: