本方法不使用排序、数组,获取输入数中第二大的值,代码如下:
public class GetSecond {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 存储输入的值
int input;
// 存储最大值,给max的初始值是integer的最小值,所以输入的第一个数都可以赋值给max
int max = Integer.MIN_VALUE;
// 存储第二大值,给max的初始值是integer的最小值,所以输入的第一个数都可以赋值给second
int second = Integer.MIN_VALUE;
int count = 1;
// count控制输入几个数,如果是三个数获取第二大值,就 <=3,如果是四个数获取第二大值,就 <= 4
while (count <= 3) {
input = scanner.nextInt();
// 如果输入的数比 当前最大值 max 大,就把 max 值给 second,再把输入值给 max
if (input > max) {
second = max;
max = input;
}
// 如果输入的数比 当前最大值 max 小 并且 比第二大值 second 大,就把输入值 给 second
if (input < max && input > second) {
second = input;
}
count++;
}
System.out.println("第二大的值是:" + second);
}
}