对只含英文字母的字符串按字母顺序排序,相同的字母大写在前,小写在后
如 AxcBsYuC 排序得 ABCcxY
提示:利用map实现自定义的ascii码表。再用冒泡法排序。
在这里插入代码片
public class test1 {
public static void main(String[] args) {
System.out.println("请输入字符串:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
Map<Integer,Character> mp=new TreeMap<Integer,Character>();
//字符串转数组
char[] c=s.toCharArray();
for(char cc:c){
int i=(int)cc;
mp.put(i, cc);
}
//定义字符缓冲流
StringBuffer sb=new StringBuffer();
//遍历集合
Set<Integer> x=mp.keySet();
for(Integer y:x){
Character ch=mp.get(y);
sb.append(ch);
}
//转字符串
String ss=sb.toString();
System.out.println(ss);
}
}