티스토리 뷰

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 메소드에서는 매번 다른 값이 전달이 되어 실행할 때마다 다른 유형의 난수가 생성된다.


'BackEnd > JAVA' 카테고리의 다른 글

[JAVA] 자바와 DB 연결, JDBC, CONNECTION  (0) 2016.03.11
계산기 프로그램  (0) 2016.02.02
은행 대출 프로그램  (0) 2016.02.02
자전거 대여점 프로그램  (0) 2016.02.02
비행기 좌석 예약 시스템  (0) 2016.02.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함