Java学习笔记--三个整数进行比较大小的三种方法

  • 对abc三个整数从小到大进行排序,有以下几种方法:
  • 方法一:首先对a和b进行比较排序,使得a<=b,再对b和c排序,使得b<=c,最后再对a和b进行比较,就可以得到正确的顺序了。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class $3_2 {
public static void main(String[] args) {
int a = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int b = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int c = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int tmp;
if (a >= b) {
tmp = b;
b = a;
a = tmp;
}
if (b >= c) {
tmp = c;
c = b;
b = tmp;
}
if (a >= b) {
tmp = b;
b = a;
a = tmp;
}
System.out.println("the order is " + a + " " + b + " " + c);
}
}
  • 方法二:使用嵌套的if循环,讨论当a>=b以及a<b的情况。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class $3_2 {
public static void main(String[] args) {
int a = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int b = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int c = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int tmp;
if (a >= b) {
if (b >= c) {
//c<=b<=a
tmp = a;
a = c;
c = tmp;
} else {
if (a >= c) {
//b<=c<=a
tmp = a;
a = b;
b = c;
c = tmp;
} else {
//b<=a<=c
tmp = b;
b = a;
a = tmp;
}
}
} else {
if (b >= c) {
if (a <= c) {
//a<=c<=b
tmp = c;
c = b;
b = tmp;
} else {
//c<=a<=b
tmp = b;
b = a;
a = c;
c = tmp;
}
}
}
System.out.println("the order is " + a + " " + b + " " + c);
}
}
  • 方法三:使用三个boolean类型的值表示a>=bb>=ca>=c,并分别进行讨论。八种情况中有两种不成立,故舍去。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class $3_2 {
public static void main(String[] args) {
int a = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int b = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int c = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入一个整数:"));
int tmp;
boolean b1 = a >= b;
boolean b2 = a >= c;
boolean b3 = b >= c;
if (b1 && b2 && b3) {//b3多余 c<=b<=a
tmp = a;
a = c;
c = tmp;
}
if (b1 && b2 && !b3) { //b<=c<=a
tmp = a;
a = b;
b = c;
c = tmp;
}
if (b1 && !b2 && !b3) { //b<=a<=c
tmp = b;
b = a;
a = tmp;
}
if (!b1 && b2 && b3) { //c<=a<=b
tmp = c;
c = b;
b = a;
a = tmp;
}
if (!b1 && !b2 && b3) { //a<=c<=b
tmp = b;
b = c;
c = tmp;
}
if (!b1 && !b2 && !b3) { //a<=b<=c
}
System.out.println("the order is " + a + " " + b + " " + c);
}
}


本文章首发www.whtis.com,转载请注明出处


如果觉得这篇文章还有用的话,请我喝杯饮料呗~~