Random클래스
- java.util 패키지에 있는 클래스로 난수(무작위 수, 랜덤 수)를 발생시키는 클래스
난수 : 특별한 규칙없이 나오는 숫자로 기본적으로 0이상 1미만의 실수가 나옵니다.
- 주요 메소드
리턴 메소드명 및 설명
double nextDouble() : double형 난수를 리턴(0.0이상 ~ 1.0미만)
float nextFloat() : float형 난수를 리턴(0.0이상 ~ 1.0미만)
int nextInt(int bound) : int형 난수를 리턴(0이상 ~ bound미만)
.
.
예제
import java.util.*;
class RandomNumber{
public static void main(String[] args) {
Random rand = new Random();
for (int i = 0 ; i < 10 ; i++ ){
System.out.print(rand.nextInt(10) + " ");
// rand.nextInt(10) : 0이상 10미만의 정수를 무작의로 리턴
}
}
}
.
.
이걸 응용해서 로또번호를 랜덤으로 뽑아보는 프로그램을 만들어보자
import java.util.*;
class LottoGenerator{
public static void main(String[] args) {
// 1 ~ 45사이의 숫자 6개를 무작위로 추출하여 출력(중복불가)
Random rnd = new Random();
int[] arrLotto = new int[6];
for (int i = 0; i < arrLotto.length ; i++){
arrLotto[i] = rnd.nextInt(45) + 1;
// 1~45사이의 정수를 랜덤하게 리턴
for (int j = 0; j < i ; j++ ){
if (arrLotto[j] == arrLotto[i]){
// 기존의 숫자와 동일한 값이 있으면
i--;
break;
}
}
}
for (int i = 0 ; i < arrLotto.length ; i++ ){
System.out.print(arrLotto[i] + " ");
}
}
}
728x90
반응형
'Java > 본격 Java 기타클래스' 카테고리의 다른 글
[Java] Anonymous란? (0) | 2020.07.15 |
---|---|
[Java] StringTokenizer 클래스 (0) | 2020.07.02 |
[Java] Math 클래스 (0) | 2020.07.02 |
[Java] BigDecimal 클래스 (0) | 2020.07.02 |
[Java] BigInteger 클래스 (0) | 2020.07.02 |