
Java program to find first two maximum numbers in an array,using single loop without sorting array.

import java.util.*;
class ArrayExample {
public static void main(String[] args) {
int secondlargest = 0;
int largest = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter array values: ");
int arr[] = new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i] = input.nextInt();
if (largest < arr[i]) {
secondlargest = largest;
largest = arr[i];
}
if (secondlargest < arr[i] && largest != arr[i])
secondlargest = arr[i];
}
System.out.println("Largest number is: " + largest);
System.out.println("Second Largest number is: " + secondlargest);
}
}

package com.java.interview.array;
import java.util.Scanner;
public class TwoLargestElementsOfArray {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int secondlargest = 0;
int largest = 0;
int size = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter the size of array: ");
size = input.nextInt();
int arr[] = new int[size];
if (size < 2)
System.out.println("Please enter the valid size of array");
System.out.println("Enter array values: ");
for (int i = 0; i < arr.length; i++) {
arr[i] = input.nextInt();
if (largest < arr[i]) {
secondlargest = largest;
largest = arr[i];
}
if (secondlargest < arr[i] && largest != arr[i])
secondlargest = arr[i];
}
System.out.println("Largest number is: " + largest);
System.out.println("Second Largest number is: " + secondlargest);
}
}