public class CTest3 {
public CTest3() { } public void get(String str) { String tem = str.toString(); char s[] = tem.toCharArray(); Map map = new TreeMap(); for (int i = 0; i < s.length; i++) {
int cout = 0;
for (int j = 0; j < s.length; j++) {
if (' ' != s[i] && s[i] == s[j]) {
cout++;
}
} if (' ' != s[i]) {
map.put(s[i], cout);
} } Iterator it = map.keySet().iterator(); while (it.hasNext()) {
Object key = it.next();
System.out.print(key + "(" + map.get(key) + ")");
} } public String inputString() {
String str = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
if (str == null || "".equals(str)) {
try {
str = br.readLine();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
return str;
} public static void main(String[] args) { CTest3 test3 = new CTest3(); test3.get(test3.inputString()); }}
结果:
www aaa bbssddcc SS
S(2)a(3)b(2)c(2)d(2)s(2)w(3)我想这个大写的S(2)排在后面

解决方案 »

  1.   

    my %hash;
    foreach (@s){
      $hash{%_} += 1;
    }
    foreach my $key (sort keys %hash) {
    print "$key => $hash{$key}\n";
    }
      

  2.   

    public class CTest3 {
    public CTest3() { } public void get(String str) { String tem = str.toString(); char s[] = tem.toCharArray(); Map<Character, Integer> map = new TreeMap<Character, Integer>(); for (int i = 0; i < s.length; i++) {
    int cout = 0;
    for (int j = 0; j < s.length; j++) {
    if (' ' != s[i] && s[i] == s[j]) {
    cout++;
    }
    } if (' ' != s[i]) {
    map.put(s[i], cout);
    } } Iterator it = map.keySet().iterator();
    while (it.hasNext()) { Character ch = (Character) it.next(); char c = ch.charValue(); if (c >= 'a') { System.out.print(ch + "(" + map.get(ch) + ")");
    } } it = map.keySet().iterator(); while (it.hasNext()) { Character ch = (Character) it.next(); char c = ch.charValue(); if (c >= 'a') { break;
    } System.out.print(ch + "(" + map.get(ch) + ")"); } } public String inputString() {
    String str = null;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    if (str == null || "".equals(str)) {
    try {
    str = br.readLine();
    } catch (IOException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    }
    return str;
    } public static void main(String[] args) { CTest3 test3 = new CTest3(); test3.get(test3.inputString()); }}
      

  3.   

    www WWW ddd ddDDD aaa aAAAA bbb cCCbbbVVBB
    a(4)b(6)c(1)d(5)w(3)A(4)B(2)C(2)D(3)V(2)W(3)
      

  4.   

    String str = "saDagra235haeAghr452yjh";
    char[] c = str.toCharArray();
    Set<Character> s = new HashSet<Character>();
    for(char c1 : c){
    s.add(new Character(c1));
    }

    Character[] ss = s.toArray(new Character[0]);

    Arrays.sort(ss);
    for (int i = 0; i<ss.length; i++){
    System.out.print (ss[i]);
    int count = 0;
    for (int j = 0; j<c.length; j++){
    if(ss[i] == c[j]){
    count++;
    }
    }

    System.out.println("的字符数是:" + count);
    System.out.println ("--------------");
    }
      

  5.   

    2的字符数是:2
    --------------
    3的字符数是:1
    --------------
    4的字符数是:1
    --------------
    5的字符数是:2
    --------------
    A的字符数是:1
    --------------
    D的字符数是:1
    --------------
    a的字符数是:4
    --------------
    e的字符数是:1
    --------------
    g的字符数是:2
    --------------
    h的字符数是:3
    --------------
    j的字符数是:1
    --------------
    r的字符数是:2
    --------------
    s的字符数是:1
    --------------要a-z 然后A-Z这个结果是A-Z然后a-z 不符合要求