トピック情報
リリーはクラスで英数字の絵を使って子供たちに英語の単語を学ぶように教えています。毎回、これらの絵はサイズの順に並べる必要があります(ASCIIコード値は小さいものから大きいものまで)。リリーがC言語でそれを解決するのを手伝ってください。
この質問には、複数のサンプル入力のセットが含まれています。
入力の説明:リリーが使用する画像には、「A」から「Z」、「a」から「z」、「0」から「9」が含まれます。入力文字または数字の数は1024を超えません。
出力の説明:リリーのすべての写真が小さいものから大きいものの順に出力されます
入力例:Ihave1nose2hands10fingers
サンプル出力:0112Iaadeeefghhinnnorsssv
回答
トピックは比較的単純です
入力文字列の文字をASCIIコードに従って昇順で配置します。
JavaのツールクラスArraysにはsortメソッドがあり、配列の要素を昇順で配置できます。
コーディング
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class CollectPictures {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input;
while ((input = br.readLine()) != null) {
char[] arr = input.toCharArray();
Arrays.sort(arr);
StringBuilder sb = new StringBuilder();
for (char ch : arr) {
sb.append(ch);
}
System.out.println(sb);
}
}
}