对字符串进行排序(只使用for & 字符串含重复字符)

题目描述

 输入一个长度不超过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不允许重复元素致使的结果出错