九度题目1054:字符串内排序

题目描述:

    输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。

输入:

    测试数据有多组,输入字符串。

输出:

    对于每组输入,输出处理后的结果。

样例输入:

   bacd

样例输出:

   abcd


题目分析:

     首先,将得到的额字符串一一分解,用String类的charAt()方法得到每一个字符,将这些得到的字符放进我们创建的字符数组,然后再在字符数组里面排序,每个字符都有自己的unicode码,按照unicode码从小到大排序,然后将字符数组转换为String字符串,返回给调用者。

import java.util.Scanner;

public class CharSort {
	/*先把字符串拆分,放到字符数组,然后对字符数组进行排序,将排序后的数组以字符串形式返回给调用方法*/
	public static String sortChar(String str) {
		char[] newStr = new char[str.length()];
		for(int i = 0; i < str.length(); i++) {
			newStr[i] = str.charAt(i);
		}
		
		/*开始排序*/
		for(int i = 0; i < newStr.length; i++) {
			for(int j = i; j < newStr.length; j++) {
				if(newStr[j] < newStr[i]) {
					char temp = newStr[j];
					newStr[j] = newStr[i];
					newStr[i] = temp;
				}
			}
		}
		
		return new String(newStr);
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			String str = sc.nextLine();
			str = sortChar(str);
			System.out.println(str);
		}
	}
}


你可能感兴趣的:(java,算法,九度OJ)