Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package FundamentalsModule.AssociativeArrays.MoreExercises;
- import java.util.*;
- public class LegendaryFarming {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, Integer> junk = new HashMap<>();
- Map<String, Integer> keyMaterials = new HashMap<>();
- String shadowmourneSh = "shards";
- String valanyrFr = "fragments";
- String dragonwrathMo = "motes";
- String obtained = "";
- String resKeyValue = "";
- keyMaterials.put(valanyrFr, 0);
- keyMaterials.put(shadowmourneSh, 0);
- keyMaterials.put(dragonwrathMo, 0);
- boolean isObtained = false;
- do {
- String[] materials = scanner.nextLine().split(" ");
- for (int i = 1; i < materials.length; i += 2) {
- String currMaterial = materials[i].toLowerCase();
- int currAmount = Integer.parseInt(materials[i - 1]);
- if (currMaterial.equals(shadowmourneSh) || currMaterial.equals(valanyrFr) || currMaterial.equals(dragonwrathMo)) {
- keyMaterials.put(currMaterial, keyMaterials.get(currMaterial) + currAmount);
- if (keyMaterials.get(currMaterial) >= 250) {
- if (currMaterial.equals(shadowmourneSh)) {
- obtained = "Shadowmourne";
- } else if (currMaterial.equals(valanyrFr)) {
- obtained = "Valanyr";
- } else {
- obtained = "Dragonwrath";
- }
- resKeyValue = currMaterial;
- isObtained = true;
- break;
- }
- } else {
- junk.putIfAbsent(currMaterial, 0);
- junk.put(currMaterial, junk.get(currMaterial) + currAmount);
- }
- }
- } while (!isObtained);
- keyMaterials.put(resKeyValue, keyMaterials.get(resKeyValue) - 250);
- System.out.println(obtained + " obtained!");
- keyMaterials
- .keySet()
- .stream()
- .sorted(String::compareTo)
- .sorted((e1, e2) -> keyMaterials.get(e2).compareTo(keyMaterials.get(e1)))
- .forEach(e -> System.out.println(e + ": " + keyMaterials.get(e)));
- junk
- .keySet()
- .stream().sorted()
- .forEach(e -> System.out.println(e + ": " + junk.get(e)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement