package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;
/*사용자는 로또를 구매할 때 구매할 금액을 입력하고
입력한 금액에 맞게 로또번호를 출력한다.
(단, 로또 한장의 금액은 1000원이며 최대 100장까지만 구입할 수 있고,
거스름돈도 계산하여 출력한다.)
==========================
Lotto 프로그램
--------------------------
1. Lotto 구입
2. 프로그램 종료
==========================
메뉴선택 : 1 <-- 입력
Lotto 구입 시작
(1000원에 로또번호 하나입니다.)
금액 입력 : 2500 <-- 입력
행운의 로또번호는 아래와 같습니다.
로또번호1 : 2,3,4,5,6,7
로또번호2 : 20,21,22,23,24,25
받은 금액은 2500원이고 거스름돈은 500원입니다.
==========================
Lotto 프로그램
--------------------------
1. Lotto 구입
2. 프로그램 종료
==========================
메뉴선택 : 1 <-- 입력
Lotto 구입 시작
(1000원에 로또번호 하나입니다.)
금액 입력 : 900 <-- 입력
입력 금액이 너무 적습니다. 로또번호 구입 실패!!!
==========================
Lotto 프로그램
--------------------------
1. Lotto 구입
2. 프로그램 종료
==========================
메뉴선택 : 1 <-- 입력
Lotto 구입 시작
(1000원에 로또번호 하나입니다.)
금액 입력 : 101000 <-- 입력
입력 금액이 너무 많습니다. 로또번호 구입 실패!!!
==========================
Lotto 프로그램
--------------------------
1. Lotto 구입
2. 프로그램 종료
==========================
메뉴선택 : 2 <-- 입력
감사합니다
*/
public class Lotto {
public static Scanner scan;
public static void main(String[] args) {
scan = new Scanner(System.in);
lottoTest();
}
public static void displayMenu() {
System.out.println("===============================");
System.out.println(" Lotto 프로그램");
System.out.println("-------------------------------");
System.out.println("1. Lotto 구입");
System.out.println("2. 프로그램 종료");
System.out.println("===============================");
}
public static void lottoTest() {
while (true) {
displayMenu();
int input = scan.nextInt();
System.out.println("메뉴 선택: " + input);
switch (input) {
case 1:
purchase();
break;
case 2:
System.out.println("로또 프로그램을 종료합니다.");
return;
default:
System.out.println("잘못된 번호입니다. 다시 입력해주세요.");
}
}
}
public static void purchase() {
System.out.println("Lotto 구입 시작");
System.out.println();
System.out.println("(1000원에 로또번호 하나입니다.)");
int buy = scan.nextInt();
System.out.println("금액 입력: " + buy);
int count = (buy/1000);
if (buy > 999 && ((buy/1000) < 101)) {
for(count = 0; count<(buy/1000); count++) {
lotto();
}
System.out.println("받은 금액은 " + buy + " 거스름돈은 " + (buy%1000) + "원입니다.");
}else if (buy>100000) {
System.out.println("입력 금액이 너무 많습니다. 로또번호 구입 실패!!!");
}else if (buy<1000) {
System.out.println("입력 금액이 너무 적습니다. 로또번호 구입 실패!!!");
}
}
public static void lotto() {
ArrayList<Integer> list = new ArrayList<>();
Random rd = new Random();
for (int i = 0; i < 6; i++) {
int lottoNum = rd.nextInt(45)+ 1;
list.add(lottoNum);
Collections.sort(list);
}
System.out.println(list);
}
}
HighJava