티스토리 뷰
[Java] Random 난수 값 생성
1. Math.random() 사용하기
Math 클래스는 java.lang 패키지에 있으므로 별도로 import 할 필요가 없습니다. Math 클래스의 random() 메소드는 정적(static) 메소드이므로 객체를 생성하지 않고 Math.random(); 으로 바로 사용할 수 있습니다. 이 메소드는 현재 시간을 seed로 사용합니다.
결과 값은 0.0 이상 ~ 1.0 미만의 double 값의 난수
for(int i = 0; i < 3; i++) {
double dValue = Math.random();
System.out.println(dValue);
}
// 결과
0.5453128951662416
0.878518955765202
0.321598184288554
아래와 같이 10을 곱하고 int값으로 자료형 변환시 0 이상 ~ 10미만의 정수값 반환
for(int i = 0; i < 3; i++) {
double dValue = Math.random();
int value = (int)(dValue * 10);
System.out.println(value);
}
2. Random 클래스 사용하기
- boolean nextBoolean() : boolean 형 난수 발생
- int nextInt() : int 형 난수 발생(int 전 범위에서 난수가 발생합니다.)
- long nextLong() : long형 난수 발생(long 점 범위에서 난수가 발생합니다.)
- int nextInt(int n) : 0이상 n 미만의 int형 난수 발생
- float nextFloat() : 0.0이상 1.0 미만의 float형 난수 발생
- double nextDouble() : 0.0이상 1.0 미만의 double형 난수 발생
- double nextGaussian() : 정규 분포의 난수를 발생합니다.(평균이 0이고, 표준편차가 1인 분포 입니다.)
아래와 같이 nextInt() 함수에 10의 매개변수를 입력하게 되면 0 이상 ~ 10미만의 정수값이 반환 됩니다.
import java.util.Random;
Random rand = new Random();
for(int i = 0; i < 3; i++) {
int value = rand.nextInt(10); // 0 <= value < 10
System.out.println(value);
}
'Computer > JAVA' 카테고리의 다른 글
[JAVA] String Language Detect (0) | 2020.08.09 |
---|---|
[JAVA] Convert Char to String, String to Char (0) | 2020.08.09 |
[JAVA] jar 파일 keystore 서명하여 배포하기 (0) | 2020.04.22 |
[Javascript] Event Keycode Value Check Tool (0) | 2020.03.10 |
[JAVA] ArrayList 자료구조 활용하기 (0) | 2020.03.02 |
댓글