输入一串数字然后统计同一数字出现的个数

一串数字可能会超过long类型的长度,所以用String类型的变量来储存数字

public static void homework10(){
            Map map=new HashMap<>();
            Scanner input=new Scanner(System.in);
            String[] s=input.nextLine().split("");//将字符床按数字来分成数组
            for(String st:s){
               int count=map.getOrDefault(st,0);
               map.put(st,count+1);
            }
            int[] array=new int[map.size()];
            int i=0;
            for(Map.Entry e:map.entrySet()){
               int c= Integer.parseInt(e.getKey());
                array[i]=c;
                i++;
            }
            Arrays.sort(array);//将数字按升序排序
            for(int c:array){
                System.out.println(c+":"+map.get(String.valueOf(c)));输出数字以及出现的次数
            }
    }

输入:1122366489966556896662
结果:

1:2
2:3
3:1
4:1
5:2
6:8
8:2
9:3

Process finished with exit code 0

你可能感兴趣的:(输入一串数字然后统计同一数字出现的个数)