728x90
최종 코드 예제
import java.util.Random;
public class LottoGenerator {
public static void main(String[] args) {
int[] lotto = new int[6];
Random rand = new Random();
for (int i = 0; i < 6; i++) {
int num = rand.nextInt(45) + 1; // 1~45
// 중복 검사
boolean duplicate = false;
for (int j = 0; j < i; j++) {
if (lotto[j] == num) {
duplicate = true;
break;
}
}
if (duplicate) {
i--; // 중복이면 다시 뽑기
} else {
lotto[i] = num;
}
}
// 결과 출력
System.out.print("이번 주 로또 번호: ");
for (int n : lotto) {
System.out.print(n + " ");
}
}
}
코드 설명
코드 | 설명 |
int[] lotto = new int[6]; | 6개의 로또 번호 저장 |
rand.nextInt(45) + 1 | 1~45 사이의 정수 생성 |
중복 검사 | 이미 나온 번호면 다시 반복 (i--) |
향상된 for문 | for (int n : lotto) → 배열 요소 전체 출력 |
실행 예시
이번 주 로또 번호: 7 14 23 38 1 31
보너스: 정렬된 로또 번호 출력
import java.util.Arrays;
Arrays.sort(lotto);
System.out.println(Arrays.toString(lotto));
확장 아이디어
- HashSet을 활용해서 중복 자동 제거
- 여러 세트 출력 (예: 5게임 출력)
- 사용자 입력 숫자와 비교하여 맞춘 개수 계산
정리 요약
배운 개념 | 설명 |
Random | 랜덤 숫자 생성 |
배열 | 여러 개 숫자 저장 |
for 반복문 | 번호 6개 생성 |
if, boolean | 중복 체크 |
향상된 for문 | 배열 출력에 사용 |
LIST
'JAVA > 자바 실습 중심 학습' 카테고리의 다른 글
배열을 활용한 성적 관리 프로그램 (0) | 2025.04.12 |
---|---|
사용자 입력 처리 (Scanner 사용법) (1) | 2025.04.11 |
구구단 출력기 (0) | 2025.04.11 |
간단한 사칙연산 계산기 만들기 (0) | 2025.04.11 |