Advertisement
Ligh7_of_H3av3n

07. Legendary Farming

Mar 1st, 2024
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.30 KB | None | 0 0
  1. package Uprajneniq;
  2.  
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6.  
  7. public class LegendaryFarming {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.  
  12.         Map<String, Integer> keyMaterials = new LinkedHashMap<>();
  13.         keyMaterials.put("shards", 0);
  14.         keyMaterials.put("fragments", 0);
  15.         keyMaterials.put("motes", 0);
  16.  
  17.         Map<String, Integer> junk = new LinkedHashMap<>();
  18.  
  19.         String obtainedItem = "";
  20.  
  21.         while (obtainedItem.equals("")) {
  22.             String[] input = scanner.nextLine().toLowerCase().split("\\s+");
  23.  
  24.             for (int i = 0; i < input.length; i += 2) {
  25.                 int quantity = Integer.parseInt(input[i]);
  26.                 String material = input[i + 1];
  27.  
  28.                 if (keyMaterials.containsKey(material)) {
  29.                     keyMaterials.put(material, keyMaterials.get(material) + quantity);
  30.  
  31.                     if (keyMaterials.get(material) >= 250) {
  32.                         obtainedItem = getObtainedItem(material);
  33.                         keyMaterials.put(material, keyMaterials.get(material) - 250);
  34.                         break;
  35.                     }
  36.                 } else {
  37.                     junk.putIfAbsent(material, 0);
  38.                     junk.put(material, junk.get(material) + quantity);
  39.                 }
  40.             }
  41.         }
  42.  
  43.         System.out.println(capitalizeFirstLetter(obtainedItem) + " obtained!");
  44.  
  45.         for (Map.Entry<String, Integer> entry : keyMaterials.entrySet()) {
  46.             System.out.println(entry.getKey() + ": " + entry.getValue());
  47.         }
  48.  
  49.         for (Map.Entry<String, Integer> entry : junk.entrySet()) {
  50.             System.out.println(entry.getKey() + ": " + entry.getValue());
  51.         }
  52.     }
  53.  
  54.     private static String getObtainedItem(String material) {
  55.         switch (material) {
  56.             case "shards":
  57.                 return "Shadowmourne";
  58.             case "fragments":
  59.                 return "Valanyr";
  60.             case "motes":
  61.                 return "Dragonwrath";
  62.             default:
  63.                 return "";
  64.         }
  65.     }
  66.  
  67.     private static String capitalizeFirstLetter(String str) {
  68.         return Character.toUpperCase(str.charAt(0)) + str.substring(1);
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement