import java.util.Arrays;
public class LottoMethod {
public static void main(String[] args) {
LottoMethod lm = new LottoMethod();
// System.out.println(lm.generateLotto());
// int[] lotto = lm.generateLotto();
// System.out.println(Arrays.toString(lotto));
// int[][] paper = lm.lottoPaper();
// for(int i=0; i<paper.length; i++) {
//// System.out.println(Arrays.toString(paper[i]));
// lm.printArray(paper[i]);
// }
//출력할때는 반대로.. 번들->페이퍼->로또한줄 순으로
//20000원으로 로또 몇장을 살 수 있는지 구현.
int[][][] bundle = lm.lottoBundle(6000);
for(int i =0; i<bundle.length;i++) {
int[][] paper = bundle[i];
for(int j=0; j<paper.length; j++) {
int[]lotto = paper[j];
System.out.println(Arrays.toString(lotto));
}
System.out.println("-----------------------");
}
}
public void printArray(int[] arr) { //배열 출력하기
System.out.print("[");
for(int i=0; i<arr.length; i++) {
if(arr.length-1 == i) {
System.out.print(arr[i]+"]");
}else {
System.out.print(arr[i]+", ");
}
}
System.out.println();
}
public int[][][] lottoBundle(int money) {
/*
* 1000원 단위
*/
int papers = money/1000/5;
if(money/1000%5 !=0) papers++; //money/1000=로또 라인수,나머지가 있을시 한장더
int[][][] bundle = new int[papers][5][6];
for(int i=0; i<bundle.length; i++) {
bundle[i] = lottoPaper();
}
//마지막 장에 나머지 만큼만 추가한다, 기존엔 3000원 넣었을때 나오지 않았었음
if(money/1000%5 !=0) {
bundle[papers-1] = lottoPaper(money/1000%5);
}
return bundle;
}
public int[][] lottoPaper(int n) { //6개씩 한줄씩 출력
int[][] paper = new int[n][6];
for(int line =0; line<paper.length; line++) {
int[] lotto = generateLotto();
paper[line] = lotto;
}
for(int line =0; line<5; line++) {
}
return paper;
}
public int[][] lottoPaper() {
// 기본적으로 5줄의 로또를 생성하는 메소드
// lottoPaper (int n) 을 오버로딩 하여 호출함.
return lottoPaper(5);
}
public int[] generateLotto() {
int[] lotto = new int[6];
// 로또 값 저장 포문
for (int i = 0; i < lotto.length; i++) {
int ran = (int)(Math.random()*45)+1;
// 배열 값 저장
lotto[i] = ran;
// 비교 포문
for (int j = 0; j < i; j++) {
/*
* 저장된 로또 값과 비교 후
* 저장 된 값이 있다면 i 다시 반복
*/
if(lotto[i] == lotto[j]) {
i--;
break;
}
}
}
Arrays.sort(lotto); //버블정렬 안쓰는 이유 원래 정렬해주는 메소드가 있음.
// SortMethod sort = new SortMethod();
// int[] result = sort.sort2(lotto);
// System.out.println(Arrays.toString(result));
// lotto = sort(lotto);
return lotto;
}
public int[] sort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
}
'초급과정 > java' 카테고리의 다른 글
[Java] 스태틱 (Static) (0) | 2023.10.19 |
---|---|
[Java] 11일차. 싱글톤(Singleton) (0) | 2023.10.19 |
[Java] while문 정수 입력받기 , 윤년 평년 구하기 (0) | 2023.10.19 |
[Java] 버블정렬 (0) | 2023.10.19 |
[Java] 메소드 불러오기 (0) | 2023.10.19 |