Java程序统计每个字符的出现次数

2021年4月20日14:37:08 发表评论 783 次浏览

编写一个Java程序, 该程序打印每个字符出现的次数, 并且也不应重复打印重复字符的出现, 如示例中所示:

例子:

Input : lsbin
Output :
Number of Occurrence of g is:2
Number of Occurrence of e is:4
Number of Occurrence of k is:2
Number of Occurrence of s is:2
Number of Occurrence of f is:1
Number of Occurrence of o is:1
Number of Occurrence of r is:1

这个想法是创建一个大小为256的计数数组。遍历输入字符串, 并为每个字符增加其计数。

class NoOfOccurenceOfCharacters {
     static final int MAX_CHAR = 256 ;
  
     static void getOccuringChar(String str)
     {
         //Create an array of size 256 i.e. ASCII_SIZE
         int count[] = new int [MAX_CHAR];
  
         int len = str.length();
  
         //Initialize count array index
         for ( int i = 0 ; i <len; i++)
             count[str.charAt(i)]++;
  
         //Create an array of given String size
         char ch[] = new char [str.length()];
         for ( int i = 0 ; i <len; i++) {
             ch[i] = str.charAt(i);
             int find = 0 ;
             for ( int j = 0 ; j <= i; j++) {
  
                 //If any matches found
                 if (str.charAt(i) == ch[j]) 
                     find++;                
             }
  
             if (find == 1 ) 
                 System.out.println( "Number of Occurrence of " +
                  str.charAt(i) + " is:" + count[str.charAt(i)]);            
         }
     }
     public static void main(String[] args)
     {
         Scanner sc = new Scanner(System.in);
         String str = "lsbin" ;
         getOccuringChar(str);
     }
}

输出如下:

Number of Occurrence of g is:2
Number of Occurrence of e is:4
Number of Occurrence of k is:2
Number of Occurrence of s is:2
Number of Occurrence of f is:1
Number of Occurrence of o is:1
Number of Occurrence of r is:1

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: