Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Uprajnenie;
- import java.util.LinkedHashMap;
- import java.util.HashSet;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- public class HandsOfCards {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, Set<String>> playerCards = new LinkedHashMap<>();
- while (true) {
- String input = scanner.nextLine();
- if (input.equals("JOKER")) {
- break;
- }
- String[] parts = input.split(": ");
- String name = parts[0];
- String[] cards = parts[1].split(", ");
- playerCards.putIfAbsent(name, new HashSet<>());
- for (String card : cards) {
- playerCards.get(name).add(card);
- }
- }
- for (Map.Entry<String, Set<String>> entry : playerCards.entrySet()) {
- String name = entry.getKey();
- Set<String> cards = entry.getValue();
- int totalValue = calculateTotalValue(cards);
- System.out.println(name + ": " + totalValue);
- }
- }
- private static int calculateTotalValue(Set<String> cards) {
- Map<Character, Integer> powerMap = new LinkedHashMap<>();
- for (int i = 2; i <= 10; i++) {
- powerMap.put((char) (i + '0'), i);
- }
- powerMap.put('J', 11);
- powerMap.put('Q', 12);
- powerMap.put('K', 13);
- powerMap.put('A', 14);
- Map<Character, Integer> typeMap = new LinkedHashMap<>();
- typeMap.put('S', 4);
- typeMap.put('H', 3);
- typeMap.put('D', 2);
- typeMap.put('C', 1);
- int totalValue = 0;
- for (String card : cards) {
- char powerChar = card.charAt(0);
- char typeChar = card.charAt(card.length() - 1);
- int power, type;
- if (Character.isDigit(powerChar) && card.length() == 3) {
- power = 10;
- } else {
- power = powerMap.get(powerChar);
- }
- type = typeMap.get(typeChar);
- totalValue += power * type;
- }
- return totalValue;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement