Write a method that takes an integer array as its parameter and sorts the contents of the array in ascending order using the Insertion Sort algorithm. Call this method after the original array (original program below) and other stats have been displayed. Once the array has been sorted by your method, display its contents to the screen in the same manner as the original array was displayed.
Write a method that
takes an integer array as its parameter and sorts the contents of the array in
ascending order using the Insertion Sort 
after the original array (original program below) and other stats have been displayed. Once the array has
been sorted by your method, display its contents to the screen in the same
manner as the original array was displayed.
import java.util.Random;
import java.util.Scanner;
public class Main {
   public static void main(String[] args) {
      Scanner scnr = new Scanner(System.in);
      System.out.println("How many numbers to store?");
      //input array size
      int size = scnr.nextInt();
      //creating array
      double[] array = new double[size];
      //fill array with random numbers in range 1-999 inclusive
      randomArray(array, size, 1, 999);
      //find smallest, largest and average
      compute(array, size);
   }
    //method to fill array with randoms numbers within range min to max and print them
    private static void randomArray(double[] arr, int n, int min, int max) {
       Random q = new Random();
       for (int i = 0; i < n; i++) {
         arr[i] = q.nextInt((max - min) + 1) + min;
         System.out.print(arr[i] + " ");
      }
    System.out.println();
   }
   //method to print smallest, largest amd average 
    private static void compute(double[] val, int n) {
      //set min to default max value
      double min = Double.MAX_VALUE;
      //set min to default min value
      double max = Double.MIN_VALUE;
      double sum = 0, avg;
      //iterate over array
      for (int i = 0; i < n; i++) {
         //calculate sum
         sum = sum + val[i];
         //set minimum value
         if (val[i] < min)
            min = val[i];
         //set maximum value
         if (val[i] > max)
            max = val[i];
      }
      //calculate average
      avg = sum/n;
      System.out.println("The smallest number = " + min);
      System.out.println("The largest number = " + max);
      System.out.format("The average of numbers = %.4f" , avg);
    }
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps









