728x90


 

1. Math.random()

  • 0.0 이상 1.0 미만의 double형 난수를 반환
  • 정적 메소드. import할 필요 없음.
  • 현재 시간을 seed로 사용.
코드 반환값x
Math.random() 0.0 <= x < 1.0 인 실수
Math.random() * N 0.0 <= x < N 인 실수
(int) ( Math.random() * N ) 0 <= x < N 인 정수
(int) ( Math.random() * N ) + 1 1 <= x < N+1 인 정수 ( 1에서 N까지의 정수)

 


2. Random()

Java.util.Random()
  • 객체를 생성하여 사용 == 지속적으로 난수 생성 시 유리 ( 재활용 가능 )

 

객체 생성

Random rand = new Random();

 

seed 지정

long seed = System.currentTimeMills();

Random rand = new Random(seed);

//이후 seed 변경 시 아래의 메소드 사용
rand.setSeed(anotherseed);

 

난수 리턴 메소드

메소드 설명
boolean nextBoolean() 균일 분포의 boolean형 난수 리턴
int nextInt() 균일 분포의 int형 전 범위 난수 리턴 
int nextInt(int n) 균일 분포의 0이상 n 미만의 int형 난수 리턴
long nextLong() 균일 분포의 long형 전 범위의 난수 리턴
float nextfloat() 균일 분포의 0.0이상 1.0미만의 float형 난수 리턴
double nextDouble() 균일 분포의 0.0이상 1.0 미만의 double형 난수 리턴
double nextGaussian() 정규 분포(평균이 0, 표준편차가 1)의 난수 리턴

 

  • ex. 0에서 9사이의 난수를 리턴
int r = rand.nextInt(10); // 0<= r < 10
728x90

+ Recent posts