题目:输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小。
1 package com.li.FiftyAlgorthm; 2 3 import java.util.Scanner; 4 5 /** 6 * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y 7 * 则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小。 8 * @author yejin 9 */ 10 public class NumberCompare { 11 public static void main(String[] args) { 12 NumberCompare nc = new NumberCompare(); 13 int a, b, c; 14 15 System.out.println("Input 3 numbers:"); 16 a = nc.input(); 17 b = nc.input(); 18 c = nc.input(); 19 // 20 // fnc.compare(a, b);//方法调用不能通过改变形参的值来改变实参的值 21 // fnc.compare(b, c);// 这种做法是错的 22 // fnc.compare(a, c); 23 // System.out.println("result:" + a +" " + b + " " + c);// 没有改变 24 25 if (a > b) { 26 int t = a; 27 a = b; 28 b = t; 29 } 30 31 if (a > c) { 32 int t = a; 33 a = c; 34 c = t; 35 } 36 37 if (b > c) { 38 int t = b; 39 b = c; 40 c = t; 41 } 42 System.out.println(a + " " + b + " " + c); 43 } 44 45 public int input() { 46 int value = 0; 47 Scanner s = new Scanner(System.in); 48 value = s.nextInt(); 49 return value; 50 } 51 52 public void compare(int x, int y) {// 此方法没用 53 if (x > y) { 54 int t = x; 55 x = y; 56 y = t; 57 } 58 } 59 }