HashSetを使用した宝くじ購入プログラムの作成


package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import util.ScanUtil;
public class Lotto {
public static void main(String[] args) {
	new Lotto().start();

}

private void start() {
	while (true) {
		System.out.println("======================");
		System.out.println("     Lotto 프로그램");
		System.out.println("----------------------");
		System.out.println("  1. Lotto 구입");
		System.out.println("  2. 프로그램 종료");
		System.out.println("======================");
		System.out.print("메뉴선택 : ");

		int input = ScanUtil.nextInt();
		switch (input) {
		case 1:
			lottoBuy();
			break;

		case 2:
			System.out.println("감사합니다.");
			System.exit(0);

		default:
			System.out.println("잘못 입력하였습니다.");
		}
	}
}

private void lottoBuy() {
	System.out.println("Lotto 구입 시작");
	System.out.println("(1000원에 로또번호 하나입니다.)");
	System.out.print("금액 입력 : ");
	int inputMoney = ScanUtil.nextInt();

	int cnt = inputMoney / 1000;
	int change = inputMoney % 1000;
	if (cnt > 100) {
		System.out.println("입력 금액이 너무 많습니다. 로또번호 구입 실패!!!");
	} else if (cnt < 1) {
		System.out.println("입력 금액이 너무 적습니다. 로또번호 구입 실패!!!");
	} else {
		System.out.println("행운의 로또번호는 아래와 같습니다.");
		for (int i = 1; i <= cnt; i++) {
			HashSet<Integer> lottoSet = new HashSet<Integer>();

			while (lottoSet.size() < 6) {
				lottoSet.add((int) (Math.random() * 45) + 1);
			}
			ArrayList<Integer> lottoList = new ArrayList<Integer>(lottoSet);
			Collections.shuffle(lottoList);
			System.out.println("로또번호" + i + " : " + lottoList);
		}
	}
	System.out.println("받은 금액은 " + inputMoney + "원이고 거스름돈은 " + change + "입니다.");
}
}