veronikaaa86

Hands of Cards C#

Feb 13th, 2018
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1. package MapLambdaStream;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.*;
  7.  
  8. public class P05_HandsOfCard01 {
  9.     public static void main(String[] args) throws IOException {
  10.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  11.  
  12.         String input = "";
  13.         Map<String, Set<String>> playersCards = new LinkedHashMap<>();
  14.  
  15.         while (!"JOKER".equals(input = reader.readLine())) {
  16.             String[] tokens = input.split(": ");
  17.             String name = tokens[0];
  18.             String[] cards = tokens[1].split(", ");
  19.  
  20.             if (!playersCards.containsKey(name)) {
  21.                 playersCards.put(name, new HashSet<>());
  22.             }
  23.  
  24.             playersCards.get(name).addAll(Arrays.asList(cards));
  25.         }
  26.  
  27.         for (Map.Entry<String, Set<String>> playerAndCards : playersCards.entrySet()) {
  28.  
  29.             int sum = 0;
  30.             for (String card : playerAndCards.getValue()) {
  31.                 String p = card.substring(0, card.length() - 1);
  32.                 String t = card.substring(card.length() - 1);
  33.                 int f = getPowerCard(p);
  34.                 int s = getPowerCard(t);
  35.                 int res = f * s;
  36.                 sum = sum + res;
  37.             }
  38.             System.out.printf("%s: %d%n", playerAndCards.getKey(),sum);
  39.         }
  40.     }
  41.  
  42.     public static Integer getPowerCard(String key) {
  43.         HashMap<String, Integer> map = new HashMap<>();
  44.         for (int i = 2; i < 11; i++) {
  45.             map.put(String.valueOf(i), i);
  46.         }
  47.         map.put("J", 11);
  48.         map.put("Q", 12);
  49.         map.put("K", 13);
  50.         map.put("A", 14);
  51.         map.put("S", 4);
  52.         map.put("H", 3);
  53.         map.put("D", 2);
  54.         map.put("C", 1);
  55.  
  56.         return map.get(key);
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment