Advertisement
damesova

HandsOfCards [Mimi][JA]

May 1st, 2019
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. package _08_setsAndMaps_Exercises;
  2.  
  3. import java.util.*;
  4.  
  5. public class _08_HandsOfcards {
  6.     public static void main(String[] args) {
  7.         Scanner sc = new Scanner(System.in);
  8.  
  9.         Map<String, Set<String>> cardsByPlayer = new LinkedHashMap<>();
  10.         String input = "";
  11.         while (!"JOKER".equals(input = sc.nextLine())) {
  12.             String[] data = input.split(": ");
  13.             cardsByPlayer.putIfAbsent(data[0], new HashSet<>());
  14.             Set<String> hand = cardsByPlayer.get(data[0]);
  15.             String[] cardLine = data[1].split(", ");
  16.             hand.addAll(Arrays.asList(cardLine));
  17.         }
  18.  
  19.         for (Map.Entry<String, Set<String>> entry : cardsByPlayer.entrySet()) {
  20.             System.out.print(entry.getKey() + ": ");
  21.             int sum = 0;
  22.             int val = 0;
  23.             for (String card : entry.getValue()) {
  24.                 String power = card.substring(0, card.length() - 1);
  25.                 String type = card.substring(card.length() - 1);
  26.                 int typeValue = 0;
  27.                 int powerValue = 0;
  28.                 switch (type) {
  29.                     case "S":
  30.                         typeValue = 4;
  31.                         break;
  32.                     case "H":
  33.                         typeValue = 3;
  34.                         break;
  35.                     case "D":
  36.                         typeValue = 2;
  37.                         break;
  38.                     case "C":
  39.                         typeValue = 1;
  40.                         break;
  41.                 }
  42.                 switch (power) {
  43.                     case "J":
  44.                         powerValue = 11;
  45.                         break;
  46.                     case "Q":
  47.                         powerValue = 12;
  48.                         break;
  49.                     case "K":
  50.                         powerValue = 13;
  51.                         break;
  52.                     case "A":
  53.                         powerValue = 14;
  54.                         break;
  55.                     default:
  56.                         powerValue = Integer.parseInt(power);
  57.                 }
  58.                 val = powerValue * typeValue;
  59.                 sum += val;
  60.             }
  61.             System.out.print(sum);
  62.             System.out.println();
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement