A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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为最大值

5 个回复

倒序浏览
学习中,感谢分享
回复 使用道具 举报
最后一个三元运算符 改一下   int n = (y>=c)?y:n
回复 使用道具 举报
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 ;
回复 使用道具 举报
感谢分享!!
回复 使用道具 举报
钱金磊 发表于 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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马