Java 输入三个整数 从小到大排列

今天突然一想控制台输入三个数,如何将这三个数从小到大排序
经过短暂的思考,直接上代码:

public class Test04 {
     
    public static void main(String[] args) {
     
        demo01();
    }
/*7.题目:输入三个整数x,y,z,请把这三个数由小到大输出。*/
    public static void demo01(){
     
        System.out.println("欢迎来到排序小游戏!");

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个数x:");
        int x = scanner.nextInt();
        System.out.print("请输入第二个数y:");
        int y=scanner.nextInt();
        System.out.print("请输入第三个数z:");
        int z=scanner.nextInt();
        if(x>y) {
      
            if(x>z){
      
                if(y>z){
     
                    System.out.println(z+"<"+y+"<"+x);
                    return;
                }else{
     
                    System.out.println(y+"<"+z+"<"+x);
                    return;
                }
            }else{
     
                System.out.println(y+"<"+x+"<"+z);
                return;
            }
        }
        if(x>z){
     
            if(z>y){
     
                System.out.println(y+"<"+z+"<"+x);
                return;
            }else{
     
                if(x>y){
     
                    System.out.println(z+"<"+y+"<"+x);
                    return;
                }else{
     
                    System.out.println(z+"<"+x+"<"+y);
                    return;
                }
            }
        }
        if(y>z){
     
            if(z>x){
     
                System.out.println(x+"<"+z+"<"+y);
                return;
            }else{
     
                if(x>y){
     
                    System.out.println(z+"<"+y+"<"+x);
                    return;
                }else {
     
                    System.out.println(z+"<"+x+"<"+y);
                    return;
                }
            }
        }
    }
 }

接下来我们看看运行结果:
Java 输入三个整数 从小到大排列_第1张图片
没有问题!Nice!
但是感觉代码有点繁琐,经过一段时间后想出来另外一种方法
--------------------------------------------------------------------------------------------------------
方法二

public class Test04 {
     
    public static void main(String[] args) {
     
        demo01();
    }
public static void demo01(){
     
        System.out.println("欢迎来到排序小游戏2.0!");

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个数x:");
        int x = scanner.nextInt();
        System.out.print("请输入第二个数y:");
        int y=scanner.nextInt();
        System.out.print("请输入第三个数z:");
        int z=scanner.nextInt();

        if(x>y){
     
            if(y>z){
     
                System.out.println(z+"<"+y+"<"+x);
            }else if(x>z){
     
                System.out.println(y+"<"+z+"<"+x);
            }else{
     
                System.out.println(y+"<"+x+"<"+z);
            }
        }else{
     
            if(z<x){
     
                System.out.println(z+"<"+x+"<"+y);
            }else if(y>z){
     
                System.out.println(x+"<"+z+"<"+y);
            }else{
     
                System.out.println(x+"<"+y+"<"+z);
            }
        }
    }
 }

结果:
Java 输入三个整数 从小到大排列_第2张图片
代码比以前少了一半!起飞!

----------------------------------------------------------------------------------------------------------

方法三: 我giao,后来经过思考又发现了一个比较简单的写法,直接上代码:

/*7.题目:输入三个整数x,y,z,请把这三个数由小到大输出。*/
    public static void demo07(){
     
        System.out.println("欢迎来到排序小游戏!");

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个数x:");
        int x = scanner.nextInt();
        System.out.print("请输入第二个数y:");
        int y=scanner.nextInt();
        System.out.print("请输入第三个数z:");
        int z=scanner.nextInt();

        /*获取最大值*/
        int max=(x>y)? x:y;
        max=(max>z)? max:z;
        /*获取最小值*/
        int min=(x<y)? x:y;
        min=(min<z)? min:z;
        /*获取中间值*/
        int mid=x+z+y-max-min;
        System.out.println(min+"<"+mid+"<"+max);

    }

代码量又少一半,飞起!

你可能感兴趣的:(Java基础学习,java,排序)