Advertisement
Guest User

Untitled

a guest
Oct 29th, 2018
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.stream.Collectors;
  5.  
  6. public class BakingFactory {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.         String bestBatch = "";
  10.         int bestTotalQuality = 0;
  11.         double bestAverageQuality = 0.0;
  12.         int bestBatchLength = 0;
  13.  
  14.         String line = scanner.nextLine();
  15.         while (!line.equalsIgnoreCase("Bake it!")) {
  16.             //read batch
  17.             List<Integer> qualityList = Arrays.stream(line.split("#"))
  18.                     .map(Integer::parseInt).collect(Collectors.toList());
  19.  
  20.             //take best
  21.             int batchTotalQuality = qualityList.stream().mapToInt(Integer::intValue).sum();
  22.             int batchLenght = qualityList.size();
  23.             double batchAverageQuality = (double) batchTotalQuality / batchLenght;
  24.  
  25. // check bestTotalQuality
  26.             if (batchTotalQuality >= bestTotalQuality) {  //else do nothing
  27.  
  28.                 if (batchTotalQuality == bestTotalQuality) {
  29. //check average quality
  30.                     if (batchAverageQuality >= bestAverageQuality) {  //else do nothing
  31.  
  32.                         if (batchAverageQuality == bestAverageQuality) {
  33. //check the fewest elements (length).
  34.                             if (batchLenght < bestBatchLength) {   //else do nothing
  35.                                 //new bestBatch
  36.                                 bestTotalQuality = batchTotalQuality;
  37.                                 bestAverageQuality = batchAverageQuality;
  38.                                 bestBatchLength = batchLenght;
  39.                                 bestBatch = qualityList.toString().replaceAll("[\\[\\],]", "");
  40.                             }
  41.  
  42.                         } else {  //new bestBatch
  43.                             bestTotalQuality = batchTotalQuality;
  44.                             bestAverageQuality = batchAverageQuality;
  45.                             bestBatchLength = batchLenght;
  46.                             bestBatch = qualityList.toString().replaceAll("[\\[\\],]", "");
  47.                         }
  48.                     }
  49.  
  50.                 } else {  //new bestBatch
  51.                     bestTotalQuality = batchTotalQuality;
  52.                     bestAverageQuality = batchAverageQuality;
  53.                     bestBatchLength = batchLenght;
  54.                     bestBatch = qualityList.toString().replaceAll("[\\[\\],]", "");
  55.                 }
  56.             }
  57.  
  58.             line = scanner.nextLine();
  59.         }
  60.         System.out.println("Best Batch quality: " + bestTotalQuality);
  61.         System.out.println(bestBatch);
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement