Advertisement
Guest User

12. Cards Frequencies

a guest
May 21st, 2014
476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.87 KB | None | 0 0
  1. import java.util.LinkedHashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4.  
  5.  
  6. public class _12_CardsFrequencies {
  7.  
  8.     public static void main(String[] args) {
  9.         try (Scanner scanner = new Scanner(System.in)) {
  10.             String[] cards = scanner.nextLine().split("[♥♣♦♠ ]+");
  11.             int N = cards.length;
  12.             // use linked hash map to preserve initial order of elements
  13.             Map<String, Integer> cardOccurrences = new LinkedHashMap<String, Integer>();
  14.            
  15.             for (String card : cards) {
  16.                 Integer count = cardOccurrences.get(card);
  17.                 if (count == null) count = 0;
  18.                 cardOccurrences.put(card, count + 1);
  19.             }
  20.            
  21.             // print
  22.             for (Map.Entry<String, Integer> entry : cardOccurrences.entrySet()){
  23.                 System.out.printf("%s -> %.2f%%\n", entry.getKey(),
  24.                         (double)entry.getValue() * 100 / N);
  25.             }
  26.         } catch (Exception e) {
  27.             e.printStackTrace();
  28.         }
  29.     }
  30.  
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement