[ 문제 ]

미니 로또 당첨 프로그램

1. 자신의 찍을 번호 6개 입력 (중복된 값 x, 1 ~ 45의 정수)
2. 입력한 번호를 오름차순으로 출력 후 구매 의사 재 확인
		ex)입력하신 번호는 [1, 3, 14, 21, 33, 34] 입니다. 구매하시겠습니까? (y/n)
3. 로또 번호 자동 조회 여부 확인(y/n)
4. 조회 시 이번 주 로또 당첨 번호 출력
5. 몇 등인지, 해당 등수에 따른 금액이 얼마인지 출력

		등수
		6개 — 1등
		5개 — 2등
		4개 — 3등
		3개 — 4등
		2개 — 5등

		수령 금액 (실제 수령 금처럼 매번 랜덤으로 지급)
		1등 - 십억 원 ~ 이십억 원 (억 단위로 지급)
		2등 - (이천만 원 ~ 오천만 원) (천만 원 단위로 지급)
		3등 - (백만 원 ~ 삼백만 원) (십만 원 단위로 지급)
		4등 - (오만 원)
		5등 - (오천 원)

6. 프로그램 종료

import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Lotto {

	public static void main(String[] args) {
		
		/* 내 로또 번호 고르기 */
		Scanner sc = new Scanner(System.in);
		Set<Integer> myLotto = new TreeSet<>();
		while(true) {
			System.out.println("로또 번호를 하나씩 입력하시오.");									                 // 로또 구매
			int num = sc.nextInt();
			if(myLotto.contains(num)) {														                                 // 중복값 입력 불가
				System.out.println("중복된 값이 있습니다. 다시 선택하세요");
			} else if(num > 45) {
				System.out.println("로또 번호는 45를 초과할 수 없습니다. 다시 선택하세요");				     // 45 이상의 정수 입력 불가
			} else if(num < 1) {
				System.out.println("로또 번호는 1보다 작을 수 없습니다. 다시 선택하세요");				     // 1 이하의 정수 입력 불가
			} else {
				myLotto.add(num);
			}
			if(myLotto.size() > 5) break;
		}
		
		/* 로또 번호 구애 여부 확인 */
		System.out.println("당신의 로또 번호는 "+ myLotto + " 입니다.");
		sc.nextLine();
		while(true) {
			System.out.println("해당 번호로 구매하시겠습니까? (Y/N)");								               // 구매 여부 확인
			char buy = sc.nextLine().charAt(0);
			if(buy == 'y' || buy =='Y') {
				System.out.println("성공적으로 구매 완료");
				break;
			} else if(buy == 'n' || buy == 'N') {											                             // N 선택 시 프로그램 종료
				System.out.println("새로운 번호로 다시 구매해주세요.. \\n프로그램을 종료합니다.");
				return;
			} else {																		                                           // 다른 값 입력 시 재질문
				System.out.println("잘못 입력했습니다. 'y' 혹은 'n'으로 입력해주세요");
				continue;
			}
		}
		
		
		/* 로또 번호 자동/수동 조회 선택 */
		while(true) {
			System.out.println("이번주 로또추첨이 완료되었습니다.. 조회하시겠습니까? (Y/N)");				// 자동조회 여부 확인
			char check = sc.nextLine().charAt(0);
			if(check == 'y' || check =='Y') {
				break;
			} else if(check == 'n' || check == 'N') {										                          // 'n' 선택 시 프로그램 종료
				System.out.println("수동으로 조회하세요. \\n프로그램을 종료합니다.");
				return;
			} else {																		                                          // 다른 값 입력 시 재질문
				System.out.println("잘못 입력했습니다. 'y' 혹은 'n'으로 입력해주세요");
				continue;
			}
		}
		
		/* 이번 주 로또 번호 추첨 */
		Set<Integer> lottoNum = new TreeSet<>();
		
		while(true) {															
			lottoNum.add((int)(Math.random()*45) +1);
			if(lottoNum.size() > 5) break;
		}
		System.out.println("이번주 로또 당첨 번호는 " + lottoNum +" 입니다. \\n");
		
		/* 내 로또번호와 일치하는 개수 확인 */
		int result = 0;  
		
        for(Integer i : myLotto) {											
            for(Integer j : lottoNum) {
                if(i==j) {
                    result++;
                    break;
                }
            }
        }
        
        /* 이번주 당첨금 출력*/
		int one = ((int)(Math.random()*10)+10);												                            // 1 ~ 3등 당첨금 지정범위 내에서 랜덤 지급
		int two = ((int)(Math.random()*4)+ 2);
		int three = ((int)(Math.random()*3)+ 1);
		System.out.println("------------------------------------");
		System.out.println("이번주의 1등 당첨금은 " + one + "억원" );								
		System.out.println("이번주의 2등 당첨금은 " + two + "천만원" );
		System.out.println("이번주의 3등 당첨금은 " + three + "백만원" );
		System.out.println("이번주의 4등 당첨금은 5만원");
		System.out.println("이번주의 5등 당첨금은 5천원");
		System.out.println("------------------------------------\\n");
        
        /* 로또 결과 알려주기 */						
    switch(result) {
    	case 6: System.out.println("축하합니다!! 당신은 1등에 당첨되었습니다.");
    			System.out.println("1등 당첨금은 " + one + "억원" );	
    	case 5:	System.out.println("축하합니다!! 당신은 2등에 당첨되었습니다.");
    			System.out.println("등 당첨금은 " + two + "천만원" );
    	case 4: System.out.println("축하합니다!! 당신은 3등에 당첨되었습니다.");
    			System.out.println("3등 당첨금은 " + three + "백만원" );
    	case 3: System.out.println("축하합니다!! 당신은 4등에 당첨되었습니다.");
			System.out.println("4등 당첨금은 5만원 입니다!!!!");
    	case 2: System.out.println("축하합니다!! 당신은 5등에 당첨되었습니다.");
			System.out.println("5등 당첨금은 5천원 입니다!!!!");
        	break;
    default :
        System.out.println("아쉽지만 이번주는 꽝입니다....");
    }
    
    System.out.println("\\n프로그램을 종료합니다.. 다음주에도 이용해주세요~");						         // 프로그램 종료
	}
}