Advertisement
binibiningtinamoran

Prize

Nov 21st, 2019
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1. import java.util.Random;
  2. import java.util.Scanner;
  3.  
  4. public class Prize {
  5.  
  6.     // the main procedure sets up two arrays, the prizes array and the winners array
  7.     // it prompts for a name and inserts the name in the winners array at index [i]
  8.     // it then generates a random amount between 5 and 20 dollars and inserts the
  9.     // amount in the prizes array at index [i]
  10.     // Finally, it calls the PrintSummaryReport and the PrintWinnersReport procedures.
  11.  
  12.     public static void main(String[] args) {
  13.         Scanner scan = new Scanner(System.in);
  14.         Random rand = new Random();
  15.         final int MAX_SIZE = 5;
  16.  
  17.         int[] prizesArray = new int[MAX_SIZE];
  18.         String[] winnersArray = new String[MAX_SIZE];
  19.  
  20.  
  21.         for (int i = 0; i < winnersArray.length; i++) {
  22.             System.out.print("Enter name: ");
  23.             winnersArray[i] = scan.nextLine();
  24.             int randomNum = rand.nextInt(15) + 5;
  25.             prizesArray[i] = randomNum;
  26.         }
  27.  
  28.         printWinnersReport(winnersArray,prizesArray);
  29.         printSummaryReport(prizesArray);
  30.     }
  31.  
  32.  
  33.     public static void printWinnersReport(String[] winners, int[] prizes) {
  34.         // Why would you sort the winners' name?
  35.         // IntStream.range(0, winners.length).mapToObj(i -> "Name: " + winners[i] + " | " + "Prize: $" + prizes[i]).forEach(System.out::println);
  36.         for (int i = 0; i < winners.length; i++) {
  37.             System.out.println("Name: " + winners[i] + " | " + "Prize: $" + prizes[i]);
  38.         }
  39.     }
  40.    
  41.     public static void printSummaryReport(int[] prizes) {
  42.  
  43.         int min = prizes[0];
  44.         int max = prizes[0];
  45.         int sum = getSum(prizes);
  46.         double average = getAverage(prizes);
  47.         for (int i = 1; i < prizes.length; i++)
  48.             max = Math.max(prizes[i], max);
  49.         for (int i = 1; i < prizes.length; i++)
  50.             min = Math.min(prizes[i], min);
  51.  
  52.         System.out.printf("%n");
  53.         System.out.println("Total Prizes: $" + sum);
  54.         System.out.println("Smallest Prize: $" + min);
  55.         System.out.println("Largest Prize: $" + max);
  56.         System.out.println("Average Prize: $" + average);
  57.     }
  58.  
  59.  
  60.     private static int getSum(int[] values) {
  61.         int sum = 0;
  62.         for (double value : values) {
  63.             sum += value;
  64.         }
  65.         return sum;
  66.     }
  67.  
  68.     private static double getAverage(int[] values) {
  69.         return ((double) getSum(values)) / values.length;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement