Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Scanner scanner = new Scanner(System.in);
- Map<String, Integer> keyMap = new TreeMap<>();
- Map<String, Integer> junkMap = new TreeMap<>();
- keyMap.put("Shards", 0);
- keyMap.put("Fragments", 0);
- keyMap.put("Motes", 0);
- boolean hasReached250 = false;
- while (!hasReached250) { //the first that reaches the 250 mark wins the race
- String[] input = scanner.nextLine().split("\\s+");
- for (int i = 0; i < input.length - 1; i += 2) {
- int value = Integer.parseInt(input[i]);
- String material = input[i + 1].toLowerCase();
- if (material.equals("shards") || material.equals("fragments") || material.equals("motes")) {
- keyMap.put(material, keyMap.get(material) + value);
- if (keyMap.get(material) >= 250) {
- keyMap.put(material, keyMap.get(material) - 250);
- if (material.equals("shards")) {
- System.out.println("Shadowmourne obtained!");
- } else if (material.equals("fragments")) {
- System.out.println("Valanyr obtained!");
- } else {
- System.out.println("Dragonwrath obtained!");
- }
- hasReached250 = true;
- break;
- }
- } else {
- if (!junkMap.containsKey(material)) {
- junkMap.put(material, value);
- } else {
- junkMap.put(material, junkMap.get(material) + value);
- }
- }
- }
- }
- keyMap.entrySet().stream().sorted((a, b) -> b.getValue().compareTo(a.getValue()))
- .forEach(e -> System.out.printf("%s: %d%n", e.getKey(), e.getValue()));
- junkMap.forEach((key, value) -> System.out.printf("%s: %d%n", key, value));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement