Bangeev

legendaryFarming

Feb 26th, 2022
843
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.48 KB | None | 0 0
  1. package MapsLambdaAndStreamApiExercises;
  2.  
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class LegendaryFarming {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.  
  11.         Map<String, Integer> legendaryItemsMap = new TreeMap<>();
  12.         legendaryItemsMap.put("shards", 0);
  13.         legendaryItemsMap.put("fragments", 0);
  14.         legendaryItemsMap.put("motes", 0);
  15.  
  16.         Map<String, Integer> junkItemsMap = new TreeMap<>();
  17.  
  18.  
  19.         boolean isTaken = false;
  20.         while (!isTaken) {
  21.             List<String> input = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
  22.  
  23.             int numItem = 0;
  24.             String item = "";
  25.  
  26.  
  27.             for (int i = 0; i < input.size(); i+=2) {
  28.  
  29.                     numItem = Integer.parseInt(input.get(i));
  30.                     item = input.get(i + 1).toLowerCase();
  31.  
  32.  
  33.                 if (item.equals("shards") || item.equals("fragments") || item.equals("motes")) {
  34.  
  35.                         legendaryItemsMap.put(item, legendaryItemsMap.get(item) + numItem);
  36.  
  37.                     if (legendaryItemsMap.get(item) >= 250) {
  38.                         legendaryItemsMap.put(item, legendaryItemsMap.get(item) - 250);
  39.                         if (item.equals("shards")) {
  40.                             System.out.println("Shadowmourne obtained!");
  41.                         } else if (item.equals("fragments")) {
  42.                             System.out.println("Valanyr obtained!");
  43.                         } else {
  44.                             System.out.println("Dragonwrath obtained!");
  45.                         }
  46.                         isTaken = true;
  47.                         break;
  48.                     }
  49.                 } else {
  50.                     if (!junkItemsMap.containsKey(item)) {
  51.                         junkItemsMap.put(item, numItem);
  52.                     } else {
  53.                         junkItemsMap.put(item, junkItemsMap.get(item) + numItem);
  54.                     }
  55.                 }
  56.             }
  57.  
  58.  
  59.  
  60.         }
  61.  
  62.         legendaryItemsMap
  63.             .entrySet()
  64.             .stream()
  65.             .sorted((item1, item2) -> item2.getValue().compareTo(item1.getValue()))
  66.             .forEach(entry -> System.out.printf("%s: %d%n", entry.getKey(), entry.getValue()));
  67.  
  68.         for (Map.Entry<String, Integer> entry : junkItemsMap.entrySet()) {
  69.             System.out.printf("%s: %d%n", entry.getKey(), entry.getValue());
  70.         }
  71.  
  72.  
  73.     }
  74. }
  75.  
Advertisement
Add Comment
Please, Sign In to add comment