今天突然一想控制台输入三个数,如何将这三个数从小到大排序
经过短暂的思考,直接上代码:
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);}
代码量又少一半,飞起!