题目:输入三个整数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