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);}
}