This post is about writing a Java program to find the top two numbers (largest and second largest) in a given __array__.

Condition here is that you should not be using any inbuilt Java classes or methods (i.e. Arrays.sort) or any data structure.

### Solution to find largest and second largest number in an array

Logic here is to have two variables for first and second number and iterate the array. Compare each array element with the first number if first number is less than the array element then assign existing first number to second number and array element to the first number.

If first number is greater than the array element then check if second element is less than the array element, if yes then assign array element to the second number.

### Largest and second largest number in array Java program

public class FindTopTwo { public static void main(String[] args) { int numArr[] = {2, 5, 14, 1, 26, 65, 123, 6}; // Assign lowest possible int value int firstNum = Integer.MIN_VALUE; int secondNum = Integer.MIN_VALUE; for(int i = 0; i < numArr.length; i++){ if(firstNum < numArr[i]){ secondNum = firstNum; firstNum = numArr[i]; }else if(secondNum < numArr[i]){ secondNum = numArr[i]; } } System.out.println("Top two numbers : First - " + firstNum + " Second " + secondNum); } }

__Output__

Top two numbers : First - 123 Second 65

That's all for this topic **Find Largest and Second Largest Number in Given Array - Java Program**. If you have any doubt or any
suggestions to make please drop a comment. Thanks!

>>>Return to Java Programs Page

__Related Topics__

**You may also like- **