Roadstar3

Fundamentals Mid-Exams Wizard Poker

Feb 26th, 2020
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.43 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class WizardPoker {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.         List<String> cards = getList(scanner);
  8.         List<String> changeDeck = new ArrayList<>();
  9.  
  10.         String deckChange = scanner.nextLine();
  11.         while (!"Ready".equals(deckChange)) {
  12.             String[] tokens = deckChange.split("\\s+");
  13.             String command = tokens[0];
  14.             String cardName = tokens[1];
  15.  
  16.             switch (command) {
  17.                 case "Add":
  18.                     if (cards.contains(cardName)) {
  19.                         changeDeck.add(cardName);
  20.                     } else {
  21.                         System.out.println("Card not found.");
  22.                     }
  23.                     break;
  24.                 case "Insert":
  25.                     int index = Integer.parseInt(tokens[2]);
  26.                     if ((index >= 0 && index < changeDeck.size()) && cards.contains(cardName)) {
  27.                         changeDeck.add(index, cardName);
  28.                     } else {
  29.                         System.out.println("Error!");
  30.                     }
  31.                     break;
  32.                 case "Remove":
  33.                     if (changeDeck.contains(cardName)) {
  34.                         changeDeck.remove(cardName);
  35.                     } else {
  36.                         System.out.println("Card not found.");
  37.                     }
  38.                     break;
  39.                 case "Swap":
  40.                     String secondCard = tokens[2];
  41.                     String firstCard = tokens[1];
  42.                     int indexFirst = changeDeck.indexOf(cardName);
  43.                     int indexSecond = changeDeck.indexOf(secondCard);
  44.                     changeDeck.set(indexFirst, secondCard);
  45.                     changeDeck.set(indexSecond, firstCard);
  46.                     break;
  47.                 case "Shuffle":
  48.                     Collections.reverse(changeDeck);
  49.                     break;
  50.             }
  51.             deckChange = scanner.nextLine();
  52.         }
  53.         for (String currentChange : changeDeck) {
  54.             System.out.print(currentChange + " ");
  55.         }
  56.  
  57.  
  58.     }
  59.  
  60.     private static List<String> getList(Scanner scanner) {
  61.         String[] items = scanner.nextLine().split(":+");
  62.         List<String> input = new ArrayList<>();
  63.  
  64.         Collections.addAll(input, items);
  65.         return input;
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment