Advertisement
Ligh7_of_H3av3n

Fixed_CardDeck

Feb 18th, 2024
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.81 KB | None | 0 0
  1. package PodgotovkaZaIzpit;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.Collectors;
  7.  
  8. public class DeckOfCards {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.  
  13.         // Input
  14.         List<String> cards = Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
  15.  
  16.         int cycleOfN = Integer.parseInt(scanner.nextLine());
  17.         for (int i = 0; i < cycleOfN; i++) {
  18.             String tasks = scanner.nextLine();
  19.             String command = tasks.split(", ")[0];
  20.             switch (command) {
  21.                 case "Add":
  22.                     String cardName = tasks.split(", ")[1];
  23.                     if (cards.contains(cardName)) {
  24.                         System.out.println("Card is already in the deck");
  25.                     } else {
  26.                         cards.add(cardName);
  27.                         System.out.println("Card successfully added");
  28.                     }
  29.                     break;
  30.                 case "Remove":
  31.                     String cardNameTORemove = tasks.split(", ")[1];
  32.                     int indexToRemove = cards.indexOf(cardNameTORemove);
  33.                     if (indexToRemove != -1) {
  34.                         cards.remove(indexToRemove);
  35.                         System.out.println("Card successfully removed");
  36.                     } else {
  37.                         System.out.println("Card not found");
  38.                     }
  39.                     break;
  40.                 case "Remove At":
  41.                     int indexToRemoveAt = Integer.parseInt(tasks.split(",\\s+")[1]);
  42.                     if (indexToRemoveAt >= 0 && indexToRemoveAt < cards.size()) {
  43.                         cards.remove(indexToRemoveAt);
  44.                         System.out.println("Card successfully removed");
  45.                     } else {
  46.                         System.out.println("Index out of range");
  47.                     }
  48.                     break;
  49.                 case "Insert":
  50.                     int indexToAdd = Integer.parseInt(tasks.split(", ")[1]);
  51.                     String nameToAdd = tasks.split(", ")[2];
  52.                     if (indexToAdd >= 0 && indexToAdd <= cards.size()) {
  53.                         if (!cards.contains(nameToAdd)) {
  54.                             cards.add(indexToAdd, nameToAdd);
  55.                             System.out.println("Card successfully added");
  56.                         } else {
  57.                             System.out.println("Card is already added");
  58.                         }
  59.                     } else {
  60.                         System.out.println("Index out of range");
  61.                     }
  62.                     break;
  63.             }
  64.         }
  65.  
  66.         // Output
  67.         System.out.println(String.join(", ", cards));
  68.     }
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement