未来_我来
因为渴望改变,所以必须努力

题目:输入三个整数x,y,z,请把这三个数由小到大输出。


程序分析:我们想办法把最小的数放到x上,先将xy进行比较,如果x> y则将xy的值进行交换,然后再用xz进行比较,如果x> z则将xz的值进行交换,这样能使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 }

 

posted on 2017-07-09 20:48  未来_我来  阅读(3311)  评论(1编辑  收藏  举报

2 3
4