라이브러리 썸네일형 리스트형 Effective Java ( 이펙티브 자바 ) - 아이템 59 라이브러리를 익히고 사용하라 무작위 정수 하나를 생성하고 싶다고 해보자. 값의 범위는 0부터 명시한 수 사이다. static Random rnd = new Random(); static int random(int n) { return Math.abs(rnd.nextInt()) % n; } 괜찮은 듯 보여도 문제를 세 가지나 내포하고 있다. n이 그리 크지 않는 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다. n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 반환된다. n 값이 크면 이 현상은 더 두드러진다. 다음 코드는 예시를 위해 필자가 신중히 선택한 범위에서 무작위 수를 백만개를 생성한 다음, 그중 중간 값보다 작은게 몇 개인지를 출력한다. public static void mai.. 더보기 이전 1 다음