Math.random();
0.0 <= x < 1.0 에 해당하는 double형 값 반환.
응용1. int값 반환
(int) Math.random();
형 변환을 통해 int형 값 반환.
응용2. 범위 변경
1. Math.random()*a;
a*0.0 <= x < a*1.0 에 해당하는 doube형 값 반환.
2. Math.random()*a + b;
a*0.0 +b+0.0 <= x < a*1.0 + b+1.0 에 해당하는 doube형 값 반환.
Math.random(); 주의점.
: 한 프로그램 내에서는 똑같은 패턴의 수를 생성. (seed의 변경이 없기 때문)
//Math.random() 메서드는 현재 시간을 seed로 하기 때문에 난수에 가까운 수로 생성이 된다. (패턴 없음)
Random 클래스 이용
주어지는 seed(인자)에 따라 난수 생성.
생성자
1. Random( );
: 현재 시스템 시간을 seed로 자동 사용.
2. Random(long seed)
: long 타입의 seed에 해당하는 난수 반환.
메소드(난수 생성용)
nextInt(); nextDouble(); nextBoolean(); 등 기본 자료형마다 반환 메소드 존재.
nextInt(int n);의 경우는 인자로 범위(<n)를 지정할 수 있음.
응용
: 기본적인 범위 응용은 Math.random();과 같을듯.
'Memo > 짧은 메모' 카테고리의 다른 글
[JAVA] indexOf, contains의 시간복잡도 문제(미해결) (1) | 2022.10.19 |
---|---|
MSB, Most Significant Bit (0) | 2022.10.04 |
정규표현식 (0) | 2022.10.03 |
String 배열의 초기값과 가변 배열(NullPointerException) (0) | 2022.09.27 |
재귀 함수 (0) | 2022.09.24 |