维护一个max值,维护一个seMax值
当a[i]大于max时,将max赋值给seMax,将a[i]赋值给max
当a[i]处于两者之间,将a[i]赋值给seMax就行
直到遍历到数组的最后
程序如下:
public static void findSecondMax(int[] a) {
int max = a[0];
int seMax = 0;
for (int i = 1; i < a.length; i++) {
if (a[i] >= max) {
seMax = max;
max = a[i];
} else if (a[i] > seMax && a[i] < max) {
seMax = a[i];
}
}
System.out.println("最大的数为:" + max);
System.out.println("第二大的数为:" + seMax);
}