BackEnd/JAVA
[JAVA] Random 숫자 생성
best
2017. 6. 27. 09:55
1. Random 숫자 생성 방법
- Math.Random();
- java.util.Random 을 사용
2. 중복되지 않는 랜덤 수 10개 생성 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import java.util.Random; public class RandomNum { public static void main(String[] args) { /** * 중복되지 않는 * Random 수 생성1 */ Random rnd = new Random(); rnd.setSeed(System.currentTimeMillis()); // 시드값을 설정하여 생성 for (int i = 0; i < 10; i++) { System.out.print(rnd.nextInt(100) + 1 + " "); } /** * 중복되지 않는 * Random 수 생성2 */ int randomNum[] = new int[10]; for (int i = 0; i < randomNum.length; i++ ){ randomNum[i] = (int)(Math.random() * 100 + 1); for ( int j = 0; j < i; j++ ){ if( randomNum[i] == randomNum[j] ){ // 같은 수가 존재한다면 다시 랜덤 수 생성 i--; } } } } } | cs |
- Seed 기반의 난수 생성 : 컴퓨터에서 생성하는 난수는 근거, 또는 재료가 되어
하나의 숫자를 기반으로 만들어지도록 알고리즘이 설계되어 있다.
이러한 숫자를 Seed Number라고 한다.
- rand.setSeed(System.currentTimeMillis()); 는 1970년 1월 1일 자정 이후로 지나온 시간을 밀리초(1/1000초) 단위로
계산하여 반환하는 메소드이다. 그러므로 setSeed 메소드에서는 매번 다른 값이 전달이 되어 실행할 때마다 다른 유형의 난수가 생성된다.