3. キーボードから文字列([a..zA..Z0..9])を入力し、これらの文字列を昇順・降順にソートする。

Java の場合, Collections#sort(List) や, Collections#reverse(List) を使ってやれば良いけど, いちいち List につっこんでやらなくてはならないのがなんとも...

まず, 昇順でソート

/*
 * $Id: Example3_1.java 1638 2007-08-19 15:51:47Z nanasess $
 */
package jp.examples;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


/**
 * Example3_1
 *
 * <p>
 *  3.1 Accepting series of numbers, strings from keyboard and sorting them ascending order.
 * </p>
 *
 * @author $Author: nanasess $
 * @version $Revision: 1638 $ $Date: 2007-08-20 00:51:47 +0900 (月, 20 8 2007) $
 */
public class Example3_1 {

    /**
     * 入力した文字列を昇順にソートし, 表示する.
     *
     * @throws Exception エラーが発生した場合
     */
    public static void main(String[] args) throws Exception {
        // 標準入力を読み込む
        BufferedReader reader
                = new BufferedReader(new InputStreamReader(System.in), 1);
        String s = reader.readLine();

        // 文字列を List へ追加
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < s.length(); i++) {
            list.add(new Character(s.charAt(i)).toString());
        }

        // 昇順にソート
        Collections.sort(list);

        // List の文字列を StringBuilder に追加
        StringBuilder sb = new StringBuilder();
        for (String str : list) {
            sb.append(str);
        }
        // 表示
        System.out.println(sb.toString());
    }

}

次に降順でソート

Collections#reverse(List) を使っているだけで, 他は変りありません...

/*
 * $Id: Example3_2.java 1639 2007-08-19 16:02:48Z nanasess $
 */
package jp.examples;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


/**
 * Example3_2
 *
 * <p>
 *  3.2 Accepting series of numbers, strings from keyboard and sorting them descending order.
 * </p>
 *
 * @author $Author: nanasess $
 * @version $Revision: 1639 $ $Date: 2007-08-20 01:02:48 +0900 (月, 20 8 2007) $
 */
public class Example3_2 {

    /**
     * 入力した文字列を降順にソートし, 表示する.
     *
     * @throws Exception エラーが発生した場合
     */
    public static void main(String[] args) throws Exception {
        // 標準入力を読み込む
        BufferedReader reader
                = new BufferedReader(new InputStreamReader(System.in), 1);
        String s = reader.readLine();

        // 文字列を List へ追加
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < s.length(); i++) {
            list.add(new Character(s.charAt(i)).toString());
        }

        // まず, 昇順にソート
        Collections.sort(list);
        // 逆順にソート
        Collections.reverse(list);

        // List の文字列を StringBuilder に追加
        StringBuilder sb = new StringBuilder();
        for (String str : list) {
            sb.append(str);
        }
        // 表示
        System.out.println(sb.toString());
    }
}