题目描述:

输入三个字符串,按由小到大的顺序输出。

解题思路:

一看就是排序嘛,我们可以调用库函数,那个简单,但今天我写的是自己造轮子写。

参考代码:


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i;
        String array[] = new String[]{"null", "null", "null"};
        //读取
        for (i = 0; i < 3; i++) {
            array[i] = scan.nextLine();
        }
        sort(array);//排序
        //输出
        for (i = 0; i < 3; i++) {
            System.out.println(array[i]);
        }
    }

    public static void sort(Comparable array[]) {
        int i, j;
        for (i= array.length-1;i>=0;i--) {
            for (j = 0; j < i; j++) {
                if (theMax(array[j], array[j + 1])) {
                    change(array, j, j + 1);
                }
            }
        }
    }

    //比较大小
    public static boolean theMax(Comparable v, Comparable w) {
        return v.compareTo(w) > 0;
    }

    //交换位置
    public static void change(Comparable array[], int i, int j) {
        Comparable temp;
        temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
}