这个程序是要统计排序 "Language Specification" 要求输出:a:3,c:2,e:2…
aaaccee我现在已经做到了 a:3,c:2,e:2...现在不知道怎么输出下面 aaaccee
/*
* Test
*
*/package cn.com.shdb.jt;import java.util.ArrayList;
import java.util.List;
import java.util.Hashtable;
import java.util.Enumeration;public class Test {
public static void main(String[] args) {
String str = "Language Specification";
str = str.replaceAll(" ","");
proc(str);
} public static void proc(String name) {
Hashtable Num = add (name);
List Test = get (Num);
Test = sort(Test);
out(Test,Num);
} public static Hashtable add(String name) {
Hashtable Num = new Hashtable ();
for (int i=0;i< name.length();i++) {
String bata = name.substring(i,i+1).toLowerCase();
if (Num.containsKey(bata)) {
int out = ((Integer) Num.get(bata)).intValue()+1;
Num.put(bata ,out);
}
else {
Num.put (bata,1);
}
}
return Num;
} public static List get(Hashtable Num) {
List Test = new ArrayList ();
for (Enumeration e = Num.keys(); e.hasMoreElements() ;) {
Test.add( e.nextElement());
}
return Test;
}
public static List sort(List Test) { int k;
int j;
String temp = new String(); for(int i=0; i< Test.size();i++) {
for ( j=i,k=i ; j< Test.size(); j++) {
String A = (String)Test.get(j);
String B = (String)Test.get(k);
if (A.compareTo(B)< 0)
k=j;
}
temp=(String)Test.get(i);
Test.set(i, (String)Test.get(k));
Test.set(k,temp);
}
return Test;
}
public static List out(List testGet,Hashtable numGet) {
for (int i=0;i<testGet.size() ;i++ ) {
System.out.print((String)testGet.get(i) +":"
+ numGet.get(testGet.get(i)).toString ()+",");
}
}
}
aaaccee我现在已经做到了 a:3,c:2,e:2...现在不知道怎么输出下面 aaaccee
/*
* Test
*
*/package cn.com.shdb.jt;import java.util.ArrayList;
import java.util.List;
import java.util.Hashtable;
import java.util.Enumeration;public class Test {
public static void main(String[] args) {
String str = "Language Specification";
str = str.replaceAll(" ","");
proc(str);
} public static void proc(String name) {
Hashtable Num = add (name);
List Test = get (Num);
Test = sort(Test);
out(Test,Num);
} public static Hashtable add(String name) {
Hashtable Num = new Hashtable ();
for (int i=0;i< name.length();i++) {
String bata = name.substring(i,i+1).toLowerCase();
if (Num.containsKey(bata)) {
int out = ((Integer) Num.get(bata)).intValue()+1;
Num.put(bata ,out);
}
else {
Num.put (bata,1);
}
}
return Num;
} public static List get(Hashtable Num) {
List Test = new ArrayList ();
for (Enumeration e = Num.keys(); e.hasMoreElements() ;) {
Test.add( e.nextElement());
}
return Test;
}
public static List sort(List Test) { int k;
int j;
String temp = new String(); for(int i=0; i< Test.size();i++) {
for ( j=i,k=i ; j< Test.size(); j++) {
String A = (String)Test.get(j);
String B = (String)Test.get(k);
if (A.compareTo(B)< 0)
k=j;
}
temp=(String)Test.get(i);
Test.set(i, (String)Test.get(k));
Test.set(k,temp);
}
return Test;
}
public static List out(List testGet,Hashtable numGet) {
for (int i=0;i<testGet.size() ;i++ ) {
System.out.print((String)testGet.get(i) +":"
+ numGet.get(testGet.get(i)).toString ()+",");
}
}
}
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: Add your code here
String s="Language Specification";
java.util.Map stat=new java.util.HashMap();
char[] cs=s.toCharArray();
for(int i=0;i<cs.length;i++){
if(cs[i]!=' '){
Integer count=(Integer)stat.get(new Character(cs[i]));
if(count!=null){
count++;
stat.put(new Character(cs[i]),count);
}
else{
stat.put(new Character(cs[i]),new Integer(1));
}
}
}
java.util.Set keyset=stat.keySet();
Object[] keyarray=keyset.toArray();
java.util.Arrays.sort(keyarray);
StringBuffer sb=new StringBuffer();
for(int i=0;i<keyarray.length;i++){
int count=((Integer)stat.get(keyarray[i])).intValue();
System.out.print(keyarray[i]+":"+count+",");
for(int j=0;j<count;j++)
sb.append(keyarray[i]);
}
System.out.println();
System.out.println(sb.toString());
}
}
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;public class Test {
public static void main(String[] args) {
String str = "Language Specification";
str = str.replaceAll(" ", "");
proc(str);
} public static void proc(String name) {
Hashtable Num = add(name);
List Test = get(Num);
Test = sort(Test);
out(Test, Num); } public static Hashtable add(String name) { Hashtable Num = new Hashtable(); for (int i = 0; i < name.length(); i++) {
String bata = name.substring(i, i + 1).toLowerCase(); if (Num.containsKey(bata)) {
int out = ((Integer) Num.get(bata)).intValue() + 1;
Num.put(bata, out);
} else {
Num.put(bata, 1);
} }
return Num;
} public static List get(Hashtable Num) {
List Test = new ArrayList();
for (Enumeration e = Num.keys(); e.hasMoreElements();) {
Test.add(e.nextElement());
}
return Test;
} public static List sort(List Test) { int k;
int j;
String temp = new String(); for (int i = 0; i < Test.size(); i++) {
for (j = i, k = i; j < Test.size(); j++) {
String A = (String) Test.get(j);
String B = (String) Test.get(k);
if (A.compareTo(B) < 0)
k = j;
}
temp = (String) Test.get(i);
Test.set(i, (String) Test.get(k));
Test.set(k, temp);
}
return Test;
} public static void out(List testGet, Hashtable numGet) {
StringBuffer sb=new StringBuffer();
for (int i = 0; i < testGet.size(); i++) {
int count=((Integer)numGet.get(testGet.get(i))).intValue();
System.out.print(testGet.get(i) + ":"+ count + ",");
for(int j=0;j<count;j++)
sb.append(testGet.get(i));
}
System.out.println();
System.out.println(sb.toString());
}
}
for (int i=0;i <testGet.size() ;i++ ) {
System.out.print((String)testGet.get(i)+":"
+ numGet.get(testGet.get(i)).toString()+",");
}
for(int i=0;i<testGet.size();i++)
{
String c=(String)testGet.get(i);
for(int j=0;j<((Integer)numGet.get(c)).intValue();j++)
{
System.out.print(c);
}
}
}
测试输出结果:a:3,c:2,e:2,f:1,g:2,i:3,l:1,n:2,o:1,p:1,s:1,t:1,u:1,aaacceefggiiilnnopstu
我也是菜鸟 自己照资料改的