Java

자바의신 ch24

langsamUndStetig 2022. 7. 6. 17:20
package d.collection.practice;

import java.util.Random;
import java.util.Hashtable;
import java.util.Set;

public class RandomNumberStatics {
  private final int DATA_BOUNDARY = 50;
  Hashtable<Integer, Integer> hashtable = new Hashtable<>();

  public static void main(String[] args) {
    RandomNumberStatics sample = new RandomNumberStatics();
    sample.getRandomNumberStatistics();

  }

  public void getRandomNumberStatistics() {
    Random random = new Random();
    for(int i=0;i<5000;i++) {
      int tempNumber = random.nextInt(DATA_BOUNDARY)+1;
      putCurrentNumber(tempNumber);
    }
    printStatistics();

  }

  public void putCurrentNumber(int tempNumber){
    //contains를 사용했을 떈 NullPointerException이 발생했다.
    if (hashtable.containsKey(tempNumber)==true) {
      hashtable.put(tempNumber, hashtable.get(tempNumber)+1);
    } else {
      hashtable.put(tempNumber, 1);
    }

  }

  public void printStatistics() {
    Set<Integer> keys = hashtable.keySet();
    for(Integer key : keys) {
      System.out.print(key+"="+hashtable.get(key)+ " ");
      if(key%10-1==0) System.out.println();
    }
  }
}