Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.stream.Collectors;
- public class WizardPoker {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> cards = getList(scanner);
- List<String> changeDeck = new ArrayList<>();
- String deckChange = scanner.nextLine();
- while (!"Ready".equals(deckChange)) {
- String[] tokens = deckChange.split("\\s+");
- String command = tokens[0];
- String cardName = tokens[1];
- switch (command) {
- case "Add":
- if (cards.contains(cardName)) {
- changeDeck.add(cardName);
- } else {
- System.out.println("Card not found.");
- }
- break;
- case "Insert":
- int index = Integer.parseInt(tokens[2]);
- if ((index >= 0 && index < changeDeck.size()) && cards.contains(cardName)) {
- changeDeck.add(index, cardName);
- } else {
- System.out.println("Error!");
- }
- break;
- case "Remove":
- if (changeDeck.contains(cardName)) {
- changeDeck.remove(cardName);
- } else {
- System.out.println("Card not found.");
- }
- break;
- case "Swap":
- String secondCard = tokens[2];
- String firstCard = tokens[1];
- int indexFirst = changeDeck.indexOf(cardName);
- int indexSecond = changeDeck.indexOf(secondCard);
- changeDeck.set(indexFirst, secondCard);
- changeDeck.set(indexSecond, firstCard);
- break;
- case "Shuffle":
- Collections.reverse(changeDeck);
- break;
- }
- deckChange = scanner.nextLine();
- }
- for (String currentChange : changeDeck) {
- System.out.print(currentChange + " ");
- }
- }
- private static List<String> getList(Scanner scanner) {
- String[] items = scanner.nextLine().split(":+");
- List<String> input = new ArrayList<>();
- Collections.addAll(input, items);
- return input;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment