Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sun.awt.image.ImageWatched;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.LinkedHashMap;
- import java.util.LinkedHashSet;
- import java.util.Map;
- public class handsOfCards {
- public static LinkedHashMap<String, LinkedHashSet<String>> players;
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String currentPlayer = reader.readLine();
- int sum = 0;
- players = new LinkedHashMap<>();
- while (!currentPlayer.equals("JOKER")) {
- String[] inputTokkens = currentPlayer.split(":");
- String name = inputTokkens[0];
- if (!players.containsKey(name)) {
- players.put(name, new LinkedHashSet<>());
- }
- fillSet(inputTokkens[1],name);
- currentPlayer = reader.readLine();
- }
- for (Map.Entry<String, LinkedHashSet<String>> player : players.entrySet()) {
- sum = calculateHand(player.getValue());
- System.out.printf("%s: %d%n", player.getKey(), sum);
- }
- }
- private static int calculateHand(LinkedHashSet<String> cards) {
- int sum = 0;
- int power = 0;
- int type = 0;
- char currentType = '\0';
- for (String card : cards) {
- if (card.length() == 3) {
- power = 10;
- currentType = card.charAt(2);
- } else {
- currentType = card.charAt(1);
- if (Character.isDigit(card.charAt(0))) {
- power = Integer.parseInt(card.charAt(0) + "");
- } else {
- switch (card.charAt(0)) {
- case 'A':
- power = 14;
- break;
- case 'J':
- power = 11;
- break;
- case 'Q':
- power = 12;
- break;
- case 'K':
- power = 13;
- break;
- default:
- break;
- }
- }
- }
- switch (currentType) {
- case 'C':
- type = 1;
- break;
- case 'D':
- type = 2;
- break;
- case 'H':
- type = 3;
- break;
- case 'S':
- type = 4;
- break;
- default:
- break;
- }
- sum += (power * type);
- }
- return sum;
- }
- private static void fillSet(String inputTokken, String player) {
- String[] cards = inputTokken.split(", ");
- for (String card : cards) {
- players.get(player).add(card.trim());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement