fork(1) download
  1. import java.util.HashMap;
  2.  
  3. class Problem {
  4. private int count;
  5. private final HashMap<String, Integer> counts;
  6.  
  7. public Problem() {
  8. this.counts = new HashMap<>();
  9. }
  10.  
  11. public void addName(String name) {
  12. Integer nameCount = counts.get(name);
  13. if (nameCount == null) {
  14. nameCount = 1;
  15. counts.put(name, nameCount);
  16. } else {
  17. counts.put(name, nameCount + 1);
  18. }
  19. count++;
  20. }
  21.  
  22. public double nameProportion(String name) {
  23. return counts.get(name) / (double) count;
  24. }
  25.  
  26. public static void main(String[] args) {
  27. Problem namesCount = new Problem();
  28.  
  29. namesCount.addName("James");
  30. namesCount.addName("John");
  31. namesCount.addName("Mary");
  32. namesCount.addName("Mary");
  33.  
  34. System.out.println("Fraction of Johns: " + namesCount.nameProportion("John"));
  35. System.out.println("Fraction of Marys: " + namesCount.nameProportion("Mary"));
  36. }
  37. }
Success #stdin #stdout 0.12s 36280KB
stdin
Standard input is empty
stdout
Fraction of Johns: 0.25
Fraction of Marys: 0.5