用java解决。 输入三个整数x,y,z,请把这三个数由小到大输出。 (是冒泡排序吧?应该怎么写?

用java解决。
输入三个整数x,y,z,请把这三个数由小到大输出。
(是冒泡排序吧?应该怎么写?)

import java.util.Scanner;

public class $ {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int size = 3;
        int[] arr = new int[size];

        for (int i = 0; i < size; i++) {
            System.out.print("输入第" + (i + 1) + "个数:");
            arr[i] = in.nextInt();
        }

        System.out.println("排序前:");
        show(arr);

        sort(arr);

        System.out.println("排序后:");
        show(arr);
    }

    private static void sort(int[] arr) {

        for (int i = 0; i < arr.length; i++) {
            for (int j = i; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }

    }

    private static void show(int[] arr) {
        for (int i : arr) {
            System.out.print(i + ",");
        }
        System.out.println();
    }
}追问

回我一下私信呗😁

这是我们老师给的分析:想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

这样怎么写?

追答if (arr[i] > arr[j]) {
    int tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
}
温馨提示:答案为网友推荐,仅供参考
相似回答