Java中输入3个数,然后按从大到小的顺序输出

以一种简单的算法对3个数进行排序
package com.chinasofti.xunhuan;

import java.util.Scanner;

public class peixuwenti {

    /**
     * 输入三个数字,然后按照从大到小的顺序输出
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       int i,j,k;
       Scanner scan = new Scanner(System.in);
       Scanner scan1 = new Scanner(System.in);
       Scanner scan2 = new Scanner(System.in);

       System.out.println("请输入第一位数:");
       i = scan.nextInt();
       System.out.println("请输入第一位数:");
       j = scan1.nextInt();
       System.out.println("请输入第一位数:");
       k = scan2.nextInt();

       int  max = i>j ? (i>k ? i : k) : (j>k ? j:k);
       int min = i<j ?(i<k? i:k): (j<k? j:k);
       int middle = 0 ;

       if(max != i && min != i){//如果第1个变量i中的值不是最大值也不是最小值,则它一定是中间值
           middle = i;
       }
       if(max != j && min != j){
           middle = j;
       }
       if(max != k && min != k){
           middle = k;
       }


       System.out.println(max+">"+middle+">"+min);

    }

}

**思路主要是输入3个数字后,先求出最大数,在求出最小数,然后求出中间的一个数
使用了**
3个数中判断最大数和最小数很容易,使用三目运算符:
表达式1 ? 表达式2:表达式3
如果表达式1条件成立,则执行表达式2的值,否则执行表达式3的值
所以先判断第一个变量i是否大于第二个变量j,如果条件成立,则表示i是较大的,然后去判断i和k的比较,最后即可得出最大数(最小数也是这样得出来的),中间数是这样得出的。如下
既然三个数中已经判断出了最大数和最小数,中间数就用if语句,假设i是最大数,那 它什么也不干,if里面加一条空语句即可。假设i是最小数,那它也是什么都不干,依然加一条空语句,如果上面两个条件都不满足,则这个数肯定是中间数,提取出中间数即可!

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值