Find Second Highest Number From Array Without Using Nested Loop (Language - Java)

// Find Second Highest Number From Array Without Using Nested Loop

import java.util.Scanner;

public class SecondMax {
private int array[];
private int secondMax;

public void readArray(int size){
System.out.println("Enter value for array elements -> ");
Scanner in = new Scanner(System.in);
array = new int[size];
array[0] = in.nextInt();
array[1] = in.nextInt();

int firstMax = array[0]>array[1] ? array[0] : array[1];
secondMax = array[0]>array[1] ? array[1] : array[0];

for(int i=2; i<size; i++){
array[i] = in.nextInt();
if(firstMax<array[i]) {
secondMax = firstMax;
firstMax = array[i];
} else if(secondMax < array[i]) {
secondMax = array[i];
}
}
}

public int getSecondMax(){
return secondMax;
}

public static void main(String []args){
System.out.println("Enter size of your array : ");
int size = new Scanner(System.in).nextInt();

SecondMax obj = new SecondMax();
obj.readArray(size);
System.out.println("Second Max : " + obj.getSecondMax());

}
}

Comments