输入三个随机整数,按从大到小的顺序输出
比如输入a=65,b=47,c=58,输出结果为65 58 47
使用三目运算符
先理解三目运算符的使用:
示例:两个数a,b取最大值
三目运算符:a>b?a:b;
解释:如果a>b,那么返回结果为a,否则返回结果为b
赋值给变量max存储最大值:max=a>b?a:b;
同样三个数比较
跟两个数比较大小相比,每次进行三目运算时要多一些判断条件,
但是还是一样的道理,只不过要把三个数比较的情况分析完整,特别是取中间值的时候。
用变量max存储最大值。
max=a>b?(a>c?a:c):(b>c?b:c);
用变量mid存储中间值(重点!!!相对于最大值与最小值较为复杂!)
mid=a>b?(b>c?b:(a>c?c:a)):(a>c?a:(b>c?c:b));
用变量min存储最小值
min=a>b?(b>c?c:b):(c>a?a:c);
代码如下:
package cn.tedu.test1;
import java.util.Scanner;
import org.junit.Test;
public class SortDemo {
@Test
public void Sort() {
int a,b,c;
Scanner s = new Scanner(System.in);
System.out.print("a:");a=s.nextInt();
System.out.print("b:");b=s.nextInt();
System.out.print("c:");c=s.nextInt();
// int max=a>b?(a>c?a:c):(b>c?b:c); //最大值
// int mid=a>b?(b>c?b:(a>c?c:a)):(a>c?a:(b>c?c:b));//中间值
// int min=a>b?(b>c?c:b):(c>a?a:c); //最小值
// System.out.println(max+" "+mid+" "+min+" ");
System.out.println((a>b?(a>c?a:c):(b>c?b:c))+">"+(a>b?(b>c?b:(a>c?c:a)):(a>c?a:(b>c?c:b)))+">"+(a>b?(b>c?c:b):(c>a?a:c))+" ");
}
}
案例显示:
a:59
b:38
c:48
59>48>38