Advertisement
desislava_topuzakova

Untitled

Mar 2nd, 2023
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. package Maps;
  2.  
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6.  
  7. public class LegendaryFarming_07 {
  8. public static void main(String[] args) {
  9. Scanner scanner = new Scanner(System.in);
  10.  
  11. //Shards -> количество
  12. //Fragments -> количество
  13. //Motes -> количество
  14.  
  15. //запис: материал -> количество
  16. Map<String, Integer> materials = new LinkedHashMap<>(); //нужни материали
  17. materials.put("shards", 0);
  18. materials.put("fragments", 0);
  19. materials.put("motes", 0);
  20.  
  21. //запис: боклук -> количество
  22. Map<String, Integer> junks = new LinkedHashMap<>(); //боклуци
  23.  
  24.  
  25. boolean isWin = false;
  26. //true -> ако сме спечелили
  27. //false -> ако не сме спечелили
  28.  
  29. //стоп: ако спечелим
  30. //продължаваме: ако не сме спечелили
  31. while (!isWin) {
  32. String input = scanner.nextLine();
  33. //input = "6 leathers 255 fragments 7 Shards"
  34. String [] inputData = input.split("\\s+");
  35. //inputData = ["6", "leathers", "255", "fragments", "7", "Shards", ...]
  36.  
  37. for (int index = 0; index <= inputData.length - 1; index += 2) {
  38. int quantity = Integer.parseInt(inputData[index]); //количество
  39. String material = inputData[index + 1].toLowerCase(); //вид на събрания материал с малки букви
  40.  
  41. //проверка какъв материал сме събрали -> събираме
  42. if (material.equals("shards") || material.equals("fragments") || material.equals("motes")) {
  43. //валиден материал
  44. int currentQuantity = materials.get(material);
  45. materials.put(material, currentQuantity + quantity);
  46. } else {
  47. //материалът е боклук
  48. if(!junks.containsKey(material)) {
  49. junks.put(material, quantity);
  50. } else {
  51. int currentQuantity = junks.get(material);
  52. junks.put(material, currentQuantity + quantity);
  53. }
  54. }
  55.  
  56. //проверка дали сме спечелили легендарния предмет
  57. if (materials.get("shards") >= 250) {
  58. System.out.println("Shadowmourne obtained!");
  59. materials.put("shards", materials.get("shards") - 250);
  60. isWin = true;
  61. break;
  62. } else if (materials.get("fragments") >= 250) {
  63. System.out.println("Valanyr obtained!");
  64. materials.put("fragments", materials.get("fragments") - 250);
  65. isWin = true;
  66. break;
  67. } else if (materials.get("motes") >= 250) {
  68. System.out.println("Dragonwrath obtained!");
  69. materials.put("motes", materials.get("motes") - 250);
  70. isWin = true;
  71. break;
  72. }
  73.  
  74. }
  75.  
  76. if (isWin) {
  77. break;
  78. }
  79. }
  80.  
  81. //всички валидни материали -> materials
  82. //entry: материал (key): количество (value)
  83. materials.entrySet().forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
  84.  
  85. //всички боклуци -> junks
  86. //entry: материал (key): количество (value)
  87. junks.entrySet().forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
  88. }
  89. }
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement