Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class LegendaryFarming {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- Inventory x = new Inventory();
- boolean quit = true;
- while (quit){
- String[] input = sc.nextLine().toLowerCase().split(" ");
- for (int i = 1; i < input.length; i += 2){
- String key = input[i];
- int value = Integer.parseInt(input[i - 1]);
- x.addItem(key, value);
- if (x.checkQuantity()){
- quit = false;
- break;
- }
- }
- }
- x.printSortedInventar();
- x.printSortedJunk();
- }
- }
- class Inventory{
- private final LinkedHashMap<String, Integer> inventar;
- private final LinkedHashMap<String, Integer> junkmap;
- public Inventory(){
- inventar = new LinkedHashMap<>();
- List<String> res = Arrays.asList("shards", "fragments", "motes");
- res.forEach(e -> inventar.put(e, 0));
- junkmap = new LinkedHashMap<>();
- }
- public void addItem(String key, int value){
- if (inventar.containsKey(key)){
- inventar.put(key, inventar.get(key) + value);
- }
- else {
- junkmap.putIfAbsent(key, 0);
- junkmap.put(key, junkmap.get(key) + value);
- }
- }
- public boolean checkQuantity(){
- for(Map.Entry<String, Integer> entry : inventar.entrySet()){
- if (!(inventar.get(entry.getKey()) < 250)){
- switch (entry.getKey()){
- case "shards":
- System.out.println("Shadowmourne obtained!");
- break;
- case "fragments":
- System.out.println("Valanyr obtained!");
- break;
- case "motes":
- System.out.println("Dragonwrath obtained!");
- break;
- }
- inventar.put(entry.getKey(), inventar.get(entry.getKey()) - 250);
- return true;
- }
- }
- return false;
- }
- public void printSortedInventar(){
- inventar.entrySet().stream()
- .sorted(Map.Entry.comparingByKey())
- .sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
- .forEach(e -> System.out.println(e.getKey() + ": " + e.getValue()));
- }
- public void printSortedJunk(){
- junkmap.entrySet().stream()
- .sorted(Map.Entry.comparingByKey())
- .forEach(e -> System.out.println(e.getKey() + ": " + e.getValue()));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment