Guest User

Untitled

a guest
Jun 5th, 2021
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.43 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class _02TreasureHunt {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<String> initialLoot = Arrays.stream(scanner.nextLine().split("\\|"))
  14.                 .collect(Collectors.toList());
  15.  
  16.  
  17.         String command = scanner.nextLine();
  18.         while (!command.equals("Yohoho!")) {
  19.             String[] tokens = command.split(" ");
  20.  
  21.             switch (tokens[0]) {
  22.                 case "Loot":
  23.                     for (int i = 1; i < tokens.length; i++) {
  24.                         if (!initialLoot.contains(tokens[i])) {
  25.                             initialLoot.add(0, tokens[i]);
  26.                         }
  27.                     }
  28.                     break;
  29.                 case "Drop":
  30.                     int index = Integer.parseInt(tokens[1]);
  31.                     if (index >= 0 && index < initialLoot.size()) {
  32.                         String value = initialLoot.get(index);
  33.                         initialLoot.remove(index);
  34.                         initialLoot.add(value);
  35.                     }
  36.                     break;
  37.                 case "Steal":
  38.                     int numberOfStolenItems = Integer.parseInt(tokens[1]);
  39.  
  40.                     if (numberOfStolenItems >= initialLoot.size()) {
  41.                         int counter = 0;
  42.                         for (String item : initialLoot) {
  43.                             counter++;
  44.                             if (counter == initialLoot.size()) {
  45.                                 System.out.println(item);
  46.                             } else {
  47.                                 System.out.printf("%s, ", item);
  48.                             }
  49.                         }
  50.                         System.out.println("Failed treasure hunt.");
  51.                         return;
  52.                     } else {
  53.                         int counter = initialLoot.size() - numberOfStolenItems;
  54.                         for (int i = initialLoot.size() - numberOfStolenItems; i <= initialLoot.size() - 1; i++) {
  55.                             counter++;
  56.                             if (counter == initialLoot.size()) {
  57.                                 System.out.println(initialLoot.get(i));
  58.                             } else {
  59.                                 System.out.printf("%s, ", initialLoot.get(i));
  60.                             }
  61.                         }
  62.  
  63.                     }
  64.                     int counter = initialLoot.size() - 1 - numberOfStolenItems;
  65.                     for (int i = initialLoot.size() - 1; i >= initialLoot.size()  - numberOfStolenItems; i--) {
  66.                         if (counter != i) {
  67.                             initialLoot.remove(i);
  68.                         } else {
  69.                             break;
  70.                         }
  71.  
  72.                     }
  73.                     break;
  74.                 default:
  75.                     break;
  76.             }
  77.  
  78.             command = scanner.nextLine();
  79.         }
  80.  
  81.         double numberOfLetters = 0;
  82.         for (String currentWord : initialLoot) {
  83.             numberOfLetters += currentWord.length();
  84.  
  85.         }
  86.         double averageSum = numberOfLetters / (initialLoot.size());
  87.         System.out.printf("Average treasure gain: %.2f pirate credits.", averageSum);
  88.  
  89.  
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment