Java, Legendary Farming 03
package JavaFundamentals;
import java.util.*;
public class LegendaryFarming {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] line;
Map<String, Integer> specialItems = new HashMap<>();
Map<String, Integer> junk = new TreeMap<>();
int quantity;
String item;
boolean breakable = false;
specialItems.put("shards", 0);
specialItems.put("fragments", 0);
specialItems.put("motes", 0);
while (true) {
line = scan.nextLine().split(" ");
for (int i = 0; i < line.length; i++) {
if (i % 2 == 0) {
quantity = Integer.parseInt(line[i]);
item = line[i + 1];
} else {
continue;
}
item = item.toLowerCase();
if (item.equals("shards") || item.equals("fragments") || item.equals("motes")) {
specialItems.put(item, specialItems.get(item) + quantity);
if (specialItems.get(item) >= 250) {
specialItems.put(item, specialItems.get(item) - 250);
if (item.equals("shards")) {
System.out.println("Shadowmourne obtained!");
}
if (item.equals("fragments")) {
System.out.println("Valanyr obtained!");
}
if (item.equals("motes")) {
System.out.println("Dragonwrath obtained!");
}
breakable = true;
break;
}
} else {
if (!junk.containsKey(item)) {
junk.put(item, 0);
}
junk.put(item, junk.get(item) + quantity);
}
}
if (breakable == true) {
break;
}
}
Map<Integer, String> specialItemsTree = new TreeMap<>(Collections.reverseOrder());
specialItemsTree.put(specialItems.get("shards"), "shards");
specialItemsTree.put(specialItems.get("fragments"), "fragments");
specialItemsTree.put(specialItems.get("motes"), "motes");
for (Map.Entry<Integer, String> entry : specialItemsTree.entrySet()) {
System.out.println(entry.getValue() + " " + entry.getKey());
}
for (Map.Entry<String, Integer> entry : junk.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
Условия:https://softuni.bg/trainings/resources/officedocument/56688/exercise-problem-descriptions-java-fundamentals-january-2021/3212
Този ред / specialItemsTree.put(specialItems.get("fragments"), "fragments"); / като го дебъгна с първия пример от условията не ми добавя /fragments/ във втория ми мап /specialItemsTree/ . Размера по този начин си остава 2 и съответно нищо не се извежда.
Гледах от колегата, но зада4ата ми гърми на ред 18. Може ли разяснение???
keyMap.put(material, keyMap.get(material) + value);
Legendary Farming - Pastebin.com