ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] - 랜덤 수 뽑아내기
    Java 2018. 11. 15. 16:19

    Java에서 랜덤의 수를 뽑아 내는 방법은 Random 클래스를 사용하면 된다.


    1. 범위 없이 랜덤값 뽑기

    1
    2
    3
    4
    5
    Random rd = new Random();
            
    for(int i=0; i<20; i++) {
        System.out.println("랜덤으로 뽑아낸 수 : " + rd.nextInt());
    }
    cs




    아래와 같이 20번 랜덤수를 출력하게 되면 


    랜덤으로 뽑아낸 수 : -1599071783

    랜덤으로 뽑아낸 수 : 1319311260

    랜덤으로 뽑아낸 수 : 1383473972

    랜덤으로 뽑아낸 수 : 2086303618

    랜덤으로 뽑아낸 수 : -416746670

    랜덤으로 뽑아낸 수 : 1070280201

    랜덤으로 뽑아낸 수 : 68561784

    랜덤으로 뽑아낸 수 : 495551546

    랜덤으로 뽑아낸 수 : -413002621

    랜덤으로 뽑아낸 수 : -1693355406

    랜덤으로 뽑아낸 수 : -1907020970

    랜덤으로 뽑아낸 수 : 1123988877

    랜덤으로 뽑아낸 수 : 321053391

    랜덤으로 뽑아낸 수 : 1303181506

    랜덤으로 뽑아낸 수 : -1847654334

    랜덤으로 뽑아낸 수 : 1949819666

    랜덤으로 뽑아낸 수 : 1397523852

    랜덤으로 뽑아낸 수 : -1181571013

    랜덤으로 뽑아낸 수 : 1809568818

    랜덤으로 뽑아낸 수 : -2025320321


    정말 대중없이 값이 랜덤으로 나오는걸 볼 수 있다.


    여기서 내가 원하는 랜덤수는 100 이하의 랜덤수다! 라고 조건을 주고 싶으면 아래처럼 범위를 입력해주면 된다.


    1
    2
    3
    4
    5
    Random rd = new Random();
     
    for(int i=0; i<10; i++) {
        System.out.println("랜덤으로 뽑아낸 수 : " + rd.nextInt(100));
    }
    cs


    100의 수를 입력했다면 0 부터 100 까지의 랜덤의 수가 출력된다.

    랜덤으로 뽑아낸 수 : 6

    랜덤으로 뽑아낸 수 : 58

    랜덤으로 뽑아낸 수 : 34

    랜덤으로 뽑아낸 수 : 42

    랜덤으로 뽑아낸 수 : 23

    랜덤으로 뽑아낸 수 : 39

    랜덤으로 뽑아낸 수 : 79

    랜덤으로 뽑아낸 수 : 41

    랜덤으로 뽑아낸 수 : 20

    랜덤으로 뽑아낸 수 : 60


    그럼 여기서 한가지 욕심이 생긴다. 

    나는 0부터 랜덤수를 뽑기 싫다!!


    그럼 n ~ m 까지의 랜덤수를 뽑고자 한다면 어떻게 해야 할까??


    Random 클래스 만으로는 힘들다. 

    Math.random() 을 이용해서 n 부터 m의 랜덤 수를 뽑아 낼 수 있다.


    1
    Min + (int)(Math.random() * ((Max - Min) + 1));
    cs


    최소값을 Min이라고 지정하고 Max를 최대값으로 지정했을때 Min <= X <= Max 의 값이 랜덤 값으로 출력된다.


    만약 Min <= X < Max 의 값을 랜덤으로 뽑고 싶다면 아래와 같이 해주면 된다.


    1
    Min + (int)(Math.random() * ((Max - Min)));
    cs


    타입 지정자를 int로 해준 이유는 Math.random() 의 리턴 타입이 double 형이다.

    double 타입의 랜덤 수를 뽑아내고 싶다면 타입 지정자를 int 로 해줄 필요는 없다.


    'Java' 카테고리의 다른 글

    [Java] - 객체의 특정한 값으로 객체 정렬하기  (0) 2018.11.15

    댓글

Designed by Tistory.