三个变量获取第二最大值

int a1=15;        int a2=27;        int a3=9;

方法1(思路清晰型)

if(a1>a2){
if(a1>a3){
if(a2>a3)
System.out.println("最二大值为: "+a2);
else
System.out.println("最二大值为: "+a3);
}
else{
System.out.println("最二大值为: "+a1);
}
}else if(a2>a3){
if(a1>a3)
System.out.println("最二大值为: "+a1);
else
System.out.println("最二大值为: "+a3);
}
else{
System.out.println("最2值为: "+a2);
}

方法2(三元运算)

int maxdd=a1>a2?a1:a2;                //比较a1与a2中的最大值并赋值给maxdd
int mindd=a1<=a2?a1:a2;              //比较 a1与a2中的最小值 并赋值给mindd
int max=maxdd>a3?maxdd:a3;     //比较maxdd与a3的最大值 赋值给max,此时的max即为三者中的最大值
int mind=maxdd<=a3?maxdd:a3;     //比较maxdd与a3的最小值 赋值给mind
int second=mindd>mind?mindd:mind;   //比较minddmind的最大值 赋值给second,此时的second即为第二大值
int min=mindd<=mind?mindd:mind;      //比较minddmind的最小值赋值给min,此时的min即为三者中的最小值
System.out.println("第二大数为:"+second);

方法3(冒泡排序

if(a1>a2){        //冒泡排序法
   //将a1赋值给a2    两个变量相互赋值不涉及第三方变量
    a1=a1+a2;      //15+27
   a2=a1-a2;       //15+27-27
   a1=a1-a2;      //15+27-15
  } if( a2>a3){
   //将 a2赋值给 a3
   a2= a2+ a3;        //27+9
  a3= a2- a3;           //27+9-9
  a2= a2- a3;         //27+9-27 
  } if(a1>a2){
   System.out.print(a1);
  }else
   System.out.print(a2);

  
加油!微笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值