今天突然一想控制台输入三个数,如何将这三个数从小到大排序
经过短暂的思考,直接上代码:
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; } } } } }
接下来我们看看运行结果:
没有问题!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); } } } }
结果:
代码比以前少了一半!起飞!
----------------------------------------------------------------------------------------------------------
方法三: 我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); }
代码量又少一半,飞起!