首页
登录 | 注册

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是最小数,那它也是什么都不干,依然加一条空语句,如果上面两个条件都不满足,则这个数肯定是中间数,提取出中间数即可!



2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.009 s.
京ICP备10005923号