package chapter06.array;
import java.util.Arrays;
import java.util.Scanner;
public class Array_Example04 {
public static void main(String[] args) {
/*
* 로또 생성기 숫자 : 1 ~ 45 정렬 중복제거
*
* 로또 게임을 몇개 구매할 것인지 입력을 받아 해당 개수만큼의 6개의 번호가 있는 로또를 출력한다
*
* 출력결과: 구매하실 로또의 개수를 입력하세요: 3 ================== 1 번째: 84 21 25 92 9 33 2 번째:
* 26 48 27 17 96 94 3 번째: 12 53 52 34 32 97
*/
Scanner scan = new Scanner(System.in);
System.out.print("구매하실 로또의 개수를 입력하세요: ");
int num = scan.nextInt();
int lotto[][] = new int[num][6]; // 로또 종이 3개랑 각각 번호 칸 6개 만듬 //단순히 int num[] = new int[num1]; 면 로또 종이만 3개 만든거임
System.out.println("==================");
for (int i = 0; i < lotto.length; i++) { // loto.length는 3임 //참고로 loto[0].length는 6임
for (int j = 0; j < 6; j++) {
int a = (int) (Math.random() * 99 + 1);
lotto[i][j] = a;
//중복제거
for (int k = 0; k < j; k++) { // j값은 렌덤 값이 들어오면서 이미 고정된 상태 //j이전의 값으로만 비교하니까 k < j (예를들면 j가 3이면 0,1,2만
// 비교)
if (lotto[i][k] == lotto[i][j]) { // k는 움직이는값 j는 고정되어있음 둘을 비교.// 그림판 참고
j--; // 중복이 나오면 뒤로 돌아가서 다시 값이 나오게 해야하는데, 이때 뒤로 빽 시키는 역할
break;// 중복이 안나오면 끝남
}
}
}
Arrays.sort(lotto[i]); // 문제발생2 적용x
}
for (int i = 0; i < lotto.length; i++) { // loto.length는 3임 //참고로 loto[0].length는 6임
System.out.print( i+1 + " 번째: ");
for (int j = 0; j < 6; j++) {
System.out.print(lotto[i][j] + " ");
}
System.out.println();
}
}
}
1 번째: 10 20 38 61 67 99 2 번째: 13 24 27 83 84 87 3 번째: 39 40 60 69 81 97