Average of numbers except max three - Java

This is a java program to find average of all the numbers entered by user except the top three.
The program will take an array of integers from users and will apply some logic to find the average of all the numbers except MAX THREE.

import java.util.Scanner;

class thirdapp
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("\nEnter size of array :: ");
        int size = sc.nextInt();
        int array[] = new int[size];
        for(int i=0; i<size; i++)
        {
            System.out.print("\nEnter Element "+i+ " : ");
            array[i] = sc.nextInt();
        }
       
        // Find max three
       
        int maxthree[] = new int[4];
        maxthree[0] = 99999999;
       
        int flag = 0;
       
        for(int i=1; i<4; i++)
        {
            for(int j=0; j<size; j++)
            {
                if(maxthree[i]<array[j] && array[j] < maxthree[i-1])
                {
                    maxthree[i] = array[j];
                }                               
            }                   
        }

        //sum of array
       
        int sumofarray = 0;
        for(int i=0; i<size; i++)
        {
            sumofarray += array[i];
        }
       
        // sum of max three
        int sumofmaxthree = 0;
        for(int i=1; i<4; i++)
        {
            sumofmaxthree += maxthree[i];
        }
       
        System.out.println("\nSum of Array :: " + sumofarray);
        System.out.println("\nSum of Max Three :: " + sumofmaxthree);
       
        // average without max three
       
        float avg = (float)(sumofarray-sumofmaxthree)/(float)size;
        System.out.println("\nAverage :: " + avg);
    }
}

Post a Comment