import java.util.Random;
import java.util.Scanner;
import java.util.TreeSet;
public class LottoCollection {
Scanner scan = new Scanner(System.in);
Random ran = new Random();
public LottoCollection() {
}
public void start() {
do {
int cnt = gameCount(); //게임수
for(int i=1; i<=cnt; i++) {
System.out.print(i+"게임=");
createLotto();
}
//true:계속, false:중지
if(!qua()) {
break;
}
}while(true);
System.out.println("------------------END----------------");
}
//게임수 입력
public int gameCount() {
int intCnt = 0;
do {
try {
System.out.print("게임수 = ");
intCnt = Integer.parseInt(scan.nextLine());
//게임의 수가 양수가 아닐경우 게임수를 다시 입력받도록 처리
if (intCnt<=0) {
throw new Exception("게임수는 1보다 큰값이여야 합니다.."); //강제 예외처리
}
break;//게임수가 입력되었을때
}catch(NumberFormatException ne) {
System.out.println("게임수는 정수만 입력해야합니다.");
}catch(Exception e) {//위에 정수뺴놓고는 전부다 메세지만 보여줄것
System.out.println(e.getMessage());
}
}while(true);
return intCnt;
}
//로또 1게임만드는 메소드
public void createLotto() {
Random ran = new Random();
TreeSet<Integer> ts =new TreeSet<Integer>();
int lastNum = 0;
//생성 -> TreeSet -> 7개가 될때까지
while(true){
lastNum = ran.nextInt(45)+1; //1~45마지막으로 만들어진 번호
ts.add(lastNum);
if(ts.size()>=7)break;
}
//마지막으로 생성된 번호는 보너스이므로 TreeSet에서 제거한다.
ts.remove(lastNum);
System.out.print(ts.toString());
System.out.println(", bonus=" + lastNum);
}
//계속여부 확인하기
public boolean qua() {
boolean boo =false;
do {
System.out.print("계속하시겠습니까?(Y or y:예, N or N:아니요) ");
String que = scan.nextLine();
if(que.equalsIgnoreCase("Y")) {
boo = true;
break;
}else if(que.equalsIgnoreCase("N")) {
boo = false;
break;
}else {
System.out.println("Y or N을 입력하세요");
}
}while(true);
return boo;
}
public static void main(String[] args) {
LottoCollection lotto = new LottoCollection();
lotto.start();
}
}
게임수 = ㅁㄴㅇㄹ
게임수는 정수만 입력해야합니다.
게임수 = 2
1게임=[3, 8, 11, 26, 34, 42], bonus=4
2게임=[6, 14, 15, 27, 34, 38], bonus=21
계속하시겠습니까?(Y or y:예, N or N:아니요) ㅁㄴㅇㄹ
Y or N을 입력하세요
계속하시겠습니까?(Y or y:예, N or N:아니요) y
게임수 = 2
1게임=[1, 4, 12, 14, 32, 33], bonus=9
2게임=[10, 11, 14, 32, 37, 39], bonus=19
계속하시겠습니까?(Y or y:예, N or N:아니요) n
------------------END----------------
'language > java실습' 카테고리의 다른 글
[java,자바] 실행파일(exe)로 만들기 (0) | 2021.01.11 |
---|---|
[java,자바] 회사관리 프로그램 만들기 (0) | 2021.01.11 |
[자바,java] 예외처리 실습 try catch (0) | 2021.01.06 |
[java,자바] 계산기 모음 (0) | 2021.01.05 |
[java,자바] 입력받은숫자가 소수, 정수인지 판별하기 (0) | 2021.01.04 |
최근댓글