본문 바로가기

Java/강의

Random 클래스

 Random 클래스의 메소드
int nextInt()   int형의 전 범위에서 균등하게 분포된 난수를 발생시킨다. 

long nextLong()    long형의 전 범위에서 균등하게 분포된 난수를 발생시킨다. 

double nextDouble()    0.0에서 1.0 범위내에서 균등하게 분포된 난수를 발생시킨다. 

float nextFloat()    0.0f에서 1.0f 범위에서 균등하게 분포된 난수를 발생시킨다. 

void setSeed (long seedNumber)    seedNumber를 종자값으로 재설정한다.  
// 1에서 15사이의 난수 10개를 발생시키는 프로그램

import java.util.Random;

class RandomNumberGenerator
{
    public static void main (String[] args)
  {
        System.out.println ("10 Random Number Generator from 1 to 15.");
        Random randomNumber = new Random();
        int value;
        for (int i = 0; i < 10; i++)
    {
            value = 1 + Math.abs (randomNumber.nextInt()) % 15;
            System.out.print ("[" + value + "] ");
        }
    System.out.println();
    }
}

Random 클래스는 두개의 생성자가 있으며 위와 같은 Random()이 있고, 다른 하나는 시드값을 넣을 수 있는 Random(long seedNum)이 있다. 디폴트 생성자의 경우 컴퓨터의 현재 시간을 기준으로 난수 발생을 하기 때문에 다른 값의 랜덤 값이 나오지만 시드값을 넣을 경우는 난수 발생은 하지만 리셋되고 난 후에 다음에 발생할 때 같은 난수가 나온다는 것을 기억해 두자!






'Java > 강의' 카테고리의 다른 글

매소드 재정의 (Method Overriding)  (0) 2011.02.23
상속 (Inheritance)  (0) 2011.02.21
vector 클래스  (0) 2011.02.16
Character 클래스  (0) 2011.02.16
StringTokenizer 클래스  (0) 2011.02.16