黑马程序员技术交流社区

标题: 今天学习的输入三个随机整数排大小 [打印本页]

作者: shortcharstring    时间: 2016-4-24 08:34
标题: 今天学习的输入三个随机整数排大小
import java.util.Scanner;
class scanner_import {
        public static void main (String[] agrs ){
               
                Scanner sc = new Scanner (System.in);
                System.out.println("请输入第一个整数");
                int x = sc.nextInt();
               
                System.out.println("请输入第二个整数");
                int y = sc.nextInt();
               
                System.out.println("请输入第三个整数");
                int z = sc.nextInt();
                三元运算符
                int max = (x > y) ? ((x > z) ? x : z) : ((y > z)? y : z);
                int min = (x < y) ? ((x < z) ? x : z) : ((y < z)? y : z);
                int mid = (x > y) ? ((x < z) ? x : ((y > z) ? y : z))): ((x > z) ? x : ((y > z) ? z :y))
        }                                                                  
}
if和任意转换三个数的值
if (a>b){
temp = a;
a = b;
b = temp;
}
if (a>c){
temp = a;
a = c ;
c = temp;
}
if (b>c){
temp = b;

if (a>b){
temp = a;
a = b;
b = temp;
}
if (a>c){
temp = a;
a = c ;
c = temp;
}
if (b>c){
temp = b;
三元运算符
int x = (a<b)?a:b;
int y = (a>=b)?a:b;         // y为ab中的大值
int m = (x<c)?x:c;         //m 为最小值
int n = (x>=c)?x:c;         //n 为xc中的大值
int p = (y<n)?y:n;         //        p为第二小值
int q = (y>=n)?y:n;         //q为最大值
作者: liuqjss    时间: 2016-4-24 08:50
学习中,感谢分享
作者: shortcharstring    时间: 2016-4-24 08:53
最后一个三元运算符 改一下   int n = (y>=c)?y:n
作者: 钱金磊    时间: 2016-4-24 09:23
int mid = (x > y) ? ((x < z) ? x : ((y > z) ? y : z))): ((x > z) ? x : ((y > z) ? z :y))改下更好理解:int mid=(x+y+z)-max-min ;
作者: lz19918888    时间: 2016-4-24 19:09
感谢分享!!
作者: shortcharstring    时间: 2016-4-24 20:27
钱金磊 发表于 2016-4-24 09:23
int mid = (x > y) ? ((x < z) ? x : ((y > z) ? y : z))): ((x > z) ? x : ((y > z) ? z :y))改下更好理 ...

对的,然后今天我又学到了一个方法

直接用if得到一个最大值后,然后再if,求最小值和中间值,if套if




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2