본문 바로가기

Java/본격 Java 기타클래스

[Java] 랜덤 클래스 - 로또 번호 만들기

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