반응형
- 로또 생성기 목차 -
1. 6번 생성 해야하니 배열을 이용하여 공간을 만듬
2. 1 ~ 45 랜덤 수 생성해서 각 공간에 넣어줌
3. 중복 제거
4. 정렬
5. 출력
6. 구현영상
7. 전체코드
1. 배열을 이용하여 번호를 넣을 6개의 방을 만듬
2. 랜덤 수를 생성해서 for문을 이용하여 각 배열값에 할당
3. 중복 제거
랜덤값이 들어오면 이전에 생성 된 값들과 비교하여
중복이 되어있으면 다시 랜덤 생성
4. 정렬
temp를 이용
a = 10, b = 20을 a = 20, b = 10으로 위치 바꾸는 것을 활용하여
if 문을 사용하여 값이 낮은 순으로 정렬
5. 할당 된 크기 6개의 방을 출력
6. 구현 영상
7. 전체 코드 File : Lotto.java
import java.util.Random;
import java.util.Scanner;
/*
로또 생성기 (1 ~ 45) 중 6개 출력
중복을 피해야함
*/
public class Lotto {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("로또 구매하실 매수 입력 : ");
int cnt = scanner.nextInt();
System.out.println("----------------------");
for (int i = 0; i < cnt; i++) {
createLotto();
}
System.out.println("----------------------");
}
public static void createLotto() {
Random random = new Random();
int[] lotto = new int[6]; // 1차원 배열 크기 6개
for (int i = 0; i < lotto.length; i++) {
lotto[i] = random.nextInt(45) + 1; // 1~45 랜덤 생성
// 중복 제거
for (int j = 0; j < i; j++) {
if (lotto[i] == lotto[j]) {
// System.out.println("중복된 수 " + lotto[i]);
i--;
}
// 낮은 순으로 정렬
if (lotto[i] < lotto[j]) {
int temp = lotto[i];
lotto[i] = lotto[j];
lotto[j] = temp;
}
}
}
// 출력
for (int i = 0; i < lotto.length; i++) {
System.out.printf("%2d ", lotto[i]);
}
System.out.println();
}
}
반응형
'IT공부 > JAVA' 카테고리의 다른 글
[JAVA] String 클래스 메소드를 이용한 단어 맞추기 게임 (0) | 2023.12.28 |
---|---|
[JAVA] 2차원배열 이용한 영화관 좌석 예매 시스템 (0) | 2023.12.24 |