This solution needs to be one java file This solution needs

This solution needs to be one java file.

This solution needs to output in the order provided not sorted.

This solution needs to use Array Lists.

Create, using NetBeans, a complete Java program called CalcAvgDropSmallest according to the following guidelines. (This program requires the use of array lists.)

The program prompts the user for five to ten numbers all on one line, separated by spaces, calculates the average of all those numbers except the lowest n numbers, where n is given by the user, and displays all the numbers and the calculated average to the user.

The program uses methods to:

get the numbers whose average is to be calculated

get the number of numbers to drop before calculating the average

calculate the average of the numbers (except the lowest n numbers) entered by the user; and

print the results.

The first method should take no arguments and return an array list of numbers (doubles) that the user entered.

The second method should take no arguments and return an integer (the number of the lowest numbers to be dropped before calculating the average).

The third method should take an array list of numbers (the return value of the first method above) and an integer as its arguments and return a double (the average of all the numbers except the lowest n values).

The fourth method should take an array list of doubles, an integer, and a (single) double value as arguments but have no return value.

For example:

If the user input is:

40 60 80 100 20

and the user gives the number 2 to indicate how many of the lowest values should be dropped before calculating the average, then

the program should give as output:

Given the numbers 40.00, 60.00, 80.00, 100.00, and 20.00, the average of all the numbers except the lowest 2 numbers is 80.00.

Solution

CalcAvgDropSmallest.java

import java.util.ArrayList;
import java.util.Scanner;


public class CalcAvgDropSmallest {

       public static void main(String[] args) {
           ArrayList<Double> list = getValuesByUser();
               int lowest = getLowestValueByUser();
               double average = removeLowestDoubleAndCalAvg(list, lowest);
               printValues(list, lowest, average);
       }
       public static ArrayList<Double> getValuesByUser(){
           Scanner scan = new Scanner(System.in);
           ArrayList<Double> list = new ArrayList<Double>();
           System.out.println(\"Please enter 5 values : \");
           for(int i=0; i<5; i++){
               list.add(scan.nextDouble());
           }
           return list;
       }
       public static int getLowestValueByUser(){
           Scanner scan = new Scanner(System.in);
           System.out.println(\"Please enter lowest number : \");
           int n = scan.nextInt();
           return n;
          
       }
       public static double removeLowestDoubleAndCalAvg(ArrayList<Double> list, int lowest){
           double minOne = list.get(0);
           double minTwo = list.get(0);
   for(double n:list){
   if(minOne > n){
   minTwo = minOne;
   minOne =n;
   } else if(minTwo < n){
   minTwo = n;
   }
   }
   double avg = 0;
   double total = 0;
   for(int i=0; i<list.size(); i++){
       if(list.get(i) != minOne && list.get(i) != minTwo){
           total = total + list.get(i);
       }
   }
   avg = total/(list.size()-lowest);
   return avg;   
       }
       public static void printValues(ArrayList<Double> list, int lowest, double avg){
           System.out.print(\"Given the numbers \");
           for(int i=0; i<list.size(); i++){
               System.out.print(list.get(i) +\", \");
           }
           System.out.println();
           System.out.println(\"The average of all the numbers except the lowest \"+lowest+\" numbers is \"+avg+\".\");
       }
   }

Output:

Please enter 5 values :
40 60 80 100 20
Please enter lowest number :
2
Given the numbers 40.0, 60.0, 80.0, 100.0, 20.0,
The average of all the numbers except the lowest 2 numbers is 80.0.

This solution needs to be one java file. This solution needs to output in the order provided not sorted. This solution needs to use Array Lists. Create, using N
This solution needs to be one java file. This solution needs to output in the order provided not sorted. This solution needs to use Array Lists. Create, using N

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site