关于java:五个任意整数找出其中第二大的数字

package comxaqf.w02_objectoriented.a_saturday1030;

import java.util.Scanner;

/**

  • 【题6】
  • 6、五个任意整数,找出其中第二大的数字
  • 45 65 18 59 98
  • max maxs
  • @author xiangtao.p

*

  • @Date 2020年10月31日

*/
public class Maximum {

public static void main(String[] args) {
    Maximum maximum = new Maximum();
    maximum.maxOfSec();
    //
}


// 【求第二大值得办法】
public  void maxOfSec() {
    int max = 0;// 第一大
    int maxs = 0;// 第二大
    //五组数据
    int num1 = 0;
    int num2 = 0;
    int num3 = 0;
    int num4 = 0;
    int num5 = 0;
    //标记处最大值
    boolean isMax1 = false;
    boolean isMax2 = false;
    boolean isMax3 = false;
    boolean isMax4 = false;
    boolean isMax5 = false;
    // 0.1输出五组数据
    Scanner scan = new Scanner(System.in);
    for (int i = 1; i < 6; i++) {
        System.out.println("请输出第" + i + "个数:");
        switch (i) {
        case 1:
            num1 = scan.nextInt();
            break;
        case 2:
            num2 = scan.nextInt();
            break;
        case 3:
            num3 = scan.nextInt();
            break;
        case 4:
            num4 = scan.nextInt();
            break;
        case 5:
            num5 = scan.nextInt();
            break;
        }
    }

    // 1.1找出最大值,并应用isMax标记
    max = num1;
    isMax1 = true;
    if (num2 >= max) {
        max = num2;
        isMax1 = false;
        isMax2 = true;
    }
    if (num3 >= max) {
        max = num3;
        isMax1 = false;// num1和num2从新标记
        isMax2 = false;
        isMax3 = true;

    }

    if (num4 >= max) {
        max = num4;
        isMax1 = false;// num1和num2、num3从新标记
        isMax2 = false;
        isMax3 = false;
        isMax4 = true;

    }
    if (num5 >= max) {
        max = num5;
        isMax1 = false;// num1和num2、num3、num4从新标记
        isMax2 = false;
        isMax3 = false;
        isMax4 = false;
        isMax5 = true;
    }

    // 1.2 给最大值赋值0
    if (isMax1) {
        num1 = 0;
    } else if (isMax2) {
        num2 = 0;
    } else if (isMax3) {
        num3 = 0;
    } else if (isMax4) {
        num4 = 0;
    } else if (isMax5) {
        num5 = 0;
    }

    // 1.3最大值赋值0,剩下的数字总从新找出最大值 ,就是整个数组中的第二大值了
    maxs = num1;
    if (num2 >= maxs) {
        maxs = num2;
    }
    if (num3 >= maxs) {
        maxs = num3;
    }

    if (num4 >= maxs) {
        maxs = num4;

    }
    if (num5 >= maxs) {

        maxs = num5;
    }

    System.out.println("第二大的数字是:" + maxs);

}

}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理