la-ma-rin

handsOfCards

May 30th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.03 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class handsOfCards {
  4.     public static void main(String[] args) {
  5.         Scanner scan = new Scanner(System.in);
  6.  
  7.         String[] input = scan.nextLine().split(":");
  8.  
  9.         Map<String, Integer> data = new LinkedHashMap<>();
  10.  
  11.         while (!input[0].equals("JOKER")) {
  12.  
  13.             HashSet<String> cards = new HashSet<>(Arrays.asList(input[1].split(",")));
  14.  
  15.             int sum = sumOfCards(cards);
  16.  
  17.             if (!data.containsKey(input[0])) {
  18.                 data.put(input[0], sum);
  19.             } else {
  20.                 data.put(input[0], data.get(input[0] + sum));
  21.             }
  22.  
  23.             input = scan.nextLine().split(":");
  24.         }
  25.         data.forEach((key, value) -> System.out.printf("%s: %d%n", key, value));
  26.     }
  27.  
  28.     private static int sumOfCards(HashSet<String> cards) {
  29.  
  30.         int sum = 0;
  31.         for (String card : cards) {
  32.  
  33.             int power = 0;
  34.  
  35.             if (Character.isDigit(card.charAt(0)) && card.charAt(0) != '1') {
  36.                 power += card.charAt(0) - '0';
  37.             } else {
  38.                 switch (card.charAt(0)) {
  39.                     case '1':
  40.                         power += 10;
  41.                         break;
  42.                     case 'J':
  43.                         power += 11;
  44.                         break;
  45.                     case 'Q':
  46.                         power += 12;
  47.                         break;
  48.                     case 'K':
  49.                         power += 13;
  50.                         break;
  51.                     case 'A':
  52.                         power += 14;
  53.                         break;
  54.                 }
  55.             }
  56.  
  57.             switch (card.charAt(card.length() - 1)) {
  58.                 case 'S':
  59.                     power *= 4;
  60.                     break;
  61.                 case 'H':
  62.                     power *= 3;
  63.                     break;
  64.                 case 'D':
  65.                     power *= 2;
  66.                     break;
  67.             }
  68.             sum += power;
  69.         }
  70.         return sum;
  71.     }
  72. }
Add Comment
Please, Sign In to add comment