题目

在这里插入图片描述

分析

  • 想法一
    建立长度为10的数组,用于统计出现的次数,将字符中的每一个字符拿出来,判断出它是几,如果是1,则数组1的位置加一,如果是二,数组二的位置加一,最后输出即可。
  • 想法二
    判断从0到9的数字和给出的字符串中的数字,是否相等,相等的话就进行记录,然后输出。

代码

方法一

import java.util.*;
public  class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int []list = new int [10];
        for(int i=0;i<10;i++){
            char s1 = s.charAt(i);
            list[s1-'0']++;
        }
        for(int i=0;i<10;i++){
            if(list[i]>0){
                System.out.println(i+":"+list[i]);
            }
        }
    }
}

方法二

import  java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        for(int i=0;i<10;i++){
            char s = (char)(i+'0');
            int count =0;
            for(int j=0;j<str.length();j++){
                if(s==str.charAt(j)){
                    count++;
                }
            }
            if(count>0){
                System.out.println(s+":"+count);
            }
        }
    }
}