标签:
如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
输入描述:
输入一串字符。
输出描述:
对字符中的
各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
输入例子:
aadddccddc
输出例子:
dca
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 while(sc.hasNext()) { 7 8 int[] ascii = new int[128];//ASCII码0~127 9 10 String s = sc.nextLine(); 11 for(int i=0; i<s.length();i++) { 12 char c = s.charAt(i); 13 int n = (int)c; 14 ascii[n]++; 15 } 16 17 int max =0;//先找ASCII码出现最多的次数值 18 for(int i=0; i<128; i++) { 19 if(ascii[i] > max) { 20 max = ascii[i]; 21 } 22 } 23 while(max!=0) { 24 for(int i=0; i<128; i++) { 25 if(ascii[i] == max) {//再反过来用最大值找对应的ASCII码 26 System.out.print((char)i); 27 } 28 } 29 max--; 30 } 31 System.out.println(); 32 } 33 } 34 }
开始想用TreeMap但是map只支持键的排序没有值排序的方法。或者说没有很简单很好的值排序的方法。
标签:
原文地址:http://www.cnblogs.com/lydandan/p/5785870.html