Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.Scanner;
- public class Prize {
- // the main procedure sets up two arrays, the prizes array and the winners array
- // it prompts for a name and inserts the name in the winners array at index [i]
- // it then generates a random amount between 5 and 20 dollars and inserts the
- // amount in the prizes array at index [i]
- // Finally, it calls the PrintSummaryReport and the PrintWinnersReport procedures.
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- Random rand = new Random();
- final int MAX_SIZE = 5;
- int[] prizesArray = new int[MAX_SIZE];
- String[] winnersArray = new String[MAX_SIZE];
- for (int i = 0; i < winnersArray.length; i++) {
- System.out.print("Enter name: ");
- winnersArray[i] = scan.nextLine();
- int randomNum = rand.nextInt(15) + 5;
- prizesArray[i] = randomNum;
- }
- printWinnersReport(winnersArray,prizesArray);
- printSummaryReport(prizesArray);
- }
- public static void printWinnersReport(String[] winners, int[] prizes) {
- // Why would you sort the winners' name?
- // IntStream.range(0, winners.length).mapToObj(i -> "Name: " + winners[i] + " | " + "Prize: $" + prizes[i]).forEach(System.out::println);
- for (int i = 0; i < winners.length; i++) {
- System.out.println("Name: " + winners[i] + " | " + "Prize: $" + prizes[i]);
- }
- }
- public static void printSummaryReport(int[] prizes) {
- int min = prizes[0];
- int max = prizes[0];
- int sum = getSum(prizes);
- double average = getAverage(prizes);
- for (int i = 1; i < prizes.length; i++)
- max = Math.max(prizes[i], max);
- for (int i = 1; i < prizes.length; i++)
- min = Math.min(prizes[i], min);
- System.out.printf("%n");
- System.out.println("Total Prizes: $" + sum);
- System.out.println("Smallest Prize: $" + min);
- System.out.println("Largest Prize: $" + max);
- System.out.println("Average Prize: $" + average);
- }
- private static int getSum(int[] values) {
- int sum = 0;
- for (double value : values) {
- sum += value;
- }
- return sum;
- }
- private static double getAverage(int[] values) {
- return ((double) getSum(values)) / values.length;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement