Java-三个数获取第二大值、四个数获取第二大值,多个数获取第二大值

本方法不使用排序、数组,获取输入数中第二大的值,代码如下:

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

你可能感兴趣的:(Java)