Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.stream.Collectors;
- public class map1_Exercises_8Hands_Of_Cards {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String input = scanner.nextLine();
- Map<String, Set<String>> cards = new LinkedHashMap<>();
- while (!input.equals("JOKER")) {
- String[] tokens = input.split(": ");
- String names = tokens[0];
- Set<String> listOfCards = Arrays.stream(tokens[1].split(", "))
- .collect(Collectors.toSet());
- cards.putIfAbsent(names, new LinkedHashSet<>());
- cards.get(names).addAll(listOfCards);
- input = scanner.nextLine();
- }
- for (Map.Entry<String, Set<String>> entry : cards.entrySet()) {
- int powerCard = powerCard(entry.getValue());
- System.out.printf("%s: %d%n", entry.getKey(), powerCard);
- }
- }
- private static int powerCard(Set<String> value) {
- int sum = 0;
- String power = "";
- String type = "";
- for (String s : value) {
- String[] line = s.split("");
- if (line.length <= 2) {
- power = line[0];
- type = line[1];
- } else {
- power = "10";
- type = line[2];
- }
- sum += makeResult(power, type);
- }
- return sum;
- }
- private static int makeResult(String power, String type) {
- int sum = 0;
- int num = 0;
- int typeNum = 0;
- char symbolFirst = power.charAt(0);
- int symbolNum = power.charAt(0) - '0';
- if (Character.isDigit(symbolFirst)) {
- if (symbolNum > 1) {
- num = symbolFirst - '0';
- } else {
- num = 10;
- }
- } else {
- switch (symbolFirst + "") {
- case "J":
- num = 11;
- break;
- case "Q":
- num = 12;
- break;
- case "K":
- num = 13;
- break;
- case "A":
- num = 14;
- break;
- }
- }
- switch (type) {
- case "S":
- typeNum = 4;
- break;
- case "H":
- typeNum = 3;
- break;
- case "D":
- typeNum = 2;
- break;
- case "C":
- typeNum = 1;
- break;
- }
- sum = num * typeNum;
- return sum;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement