题目描述
输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果
输入描述:
一个字符串,其长度n<=20
输出描述:
输入样例可能有多组,对于每组测试样例, 按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果
示例1
输入
dcba
输出
abcd
import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); while(in.hasNext()) { char theBiggerOne=' '; String str=in.nextLine(); char[] strArray=str.toCharArray(); for(int i=0;i<strArray.length-1;i++) { for(int j=i+1;j<strArray.length;j++) { if(strArray[i]>strArray[j]) { theBiggerOne=strArray[i]; strArray[i]=strArray[j]; strArray[j]=theBiggerOne; } } } for(int i=0;i<strArray.length;i++) { System.out.printf("%c",strArray[i]); } } } }
对从i=0开始到i<strArray.length-1的每个字符,以j=i+1到j<strArray.length的字符进行比较
因为字符串可能有重复,这样的做法避免了TreeSet不容许重复元素导致的结果出错