原理就是设置两个变量,一个用来存储最大元素max,另一个用来存储第二大的元素sec,遍历一次数组,比较的时候,如果数组中的值比比最大元素max大,则将max设置为这个数,将sex设置为max.当数组中的值比max小的时候,要注意将当前值和sec值进行一下比较,取大的存储。就是这么个思路。
package array;
public class GetMaxItem {
public static void main (String[] args){
int[] array={1,2,3,4,5,3,4,5,65,63,98};
System.out.println(getmaxItem(array));//最大元素 98
System.out.println(getMinItem(array));//最小元素1
System.out.println(getSecondMaxNum(array));//第二大元素65
}
/*
* 找出数组中最大的数字
*/
private static int getmaxItem(int[] array) {
int max=array[0];
int lengeh=array.length;
for(int i=1;i<lengeh;i++){
if(array[i-1]<=array[i])
{
max=array[i];
}else{
max=array[i-1];
}
}
return max;
}
/*
* 找出数组中最小的数字
*/
public static int getMinItem(int[] array){
int min=array[0];
for (int i=0;i<array.length-1;i++){
if(array[i]<=min){
min=array[i];
}
}
return min ;
}
/*
* 找出数组中第二大的数字
* 设置两个变量来存储 第一个变量存储数组中的最大的元素 第二个变量存储数组中的第二大的数字
*/
public static int getSecondMaxNum(int[] array){
int max=array[0];
int sec=Integer.MIN_VALUE;
for(int i=0;i<array.length;i++){
if (array[i]>max){
sec=max;
max=array[i];
}else{ //样本元素比max小的话,如果比sec大的话,将这个样本值赋予sec
if(array[i]>sec){
sec=array[i];
}
}
}
return sec;
}
}