비트교육_단기과정
로또 : 마기창
- -
package week_4; import sun.reflect.generics.tree.Tree; import java.util.*; public class MyTest { public static void main(String[] args) { Random rand = new Random(); Set<Integer> set = new TreeSet<>(); Iterator<Integer> iterator; int bonus_num; int cnt; while (true) {//숫자 6개의 로또번호 선정 int num = 1 + rand.nextInt(15); //1 ~ 45 난수발생 if (set.size() >= 6) { //뽑은 숫자가 전의 숫자와 보너스 숫자와 중복되는지 break; } else set.add(num); } while (true) {//기존 로또번호와 중복되지 않게 bonus 번호 선정 bonus_num = 1 + rand.nextInt(15); // bonus if (!(set.contains(bonus_num))) break; } iterator = set.iterator(); System.out.print("로또 당첨 번호 : "); while (iterator.hasNext()) { System.out.print(iterator.next() + " "); } System.out.println("+ bonus : " + bonus_num); //1등 System.out.println("1등 당첨 번호"); for (int x : set) { System.out.print(x + " "); } System.out.println(); //2등 System.out.println("2등 당첨 번호"); iterator = set.iterator(); while (iterator.hasNext()) { int delNum = iterator.next(); Set<Integer> temp = new TreeSet<>(); temp.addAll(set); temp.remove(delNum); for (int x : temp) { System.out.print(x + " "); } System.out.println("==> bonus : " + bonus_num); } //3등 System.out.println("3등 당첨 번호"); iterator = set.iterator(); for (int i = 0; i < set.size(); i++) { int check = iterator.next();//1 for (int x : set) { if (check == x) { System.out.print("x "); } else System.out.print(x + " "); } System.out.println(); } //4등 System.out.println("4등 당첨 번호"); for (int i = 0; i < set.size(); i++) { for (int n = i + 1; n < set.size(); n++) { int count = 0; //int count2 = 0; iterator = set.iterator(); while (iterator.hasNext()) {//6번 if (count == i) { System.out.print("X" + " "); iterator.next(); } else if (count == n) { System.out.print("X" + " "); iterator.next(); } else { System.out.print(iterator.next() + " "); } count++; } System.out.println(); } } //5등 System.out.println("5등 당첨 번호"); for (int i = 0; i < set.size(); i++) { for (int n = i + 1; n < set.size(); n++) { for (int l = n + 1; l < set.size(); l++) { int count = 0; iterator = set.iterator(); while (iterator.hasNext()) {//6번 if (count == i) { System.out.print("X" + " "); iterator.next(); } else if (count == n) { System.out.print("X" + " "); iterator.next(); } else if (count == l) { System.out.print("X" + " "); iterator.next(); } else { System.out.print(iterator.next() + " "); } count++; } System.out.println(); } } } //로또 당첨 확인 Set<Integer> temp = new HashSet<>(); System.out.println("로또 순위 확인"); Scanner sc = new Scanner(System.in); while (true) { System.out.print(temp.size() + 1 + "번쨰 번호를 입력하시오 : "); int sc_temp = sc.nextInt(); if (temp.contains(sc_temp)) { System.out.println("중복값이 존재합니다 다시 입력해 주세요"); } else { temp.add(sc_temp); } if (temp.size() == 6) break; } Iterator<Integer> userNum = temp.iterator(); int nomalCount = 0; boolean bonusCount = false; while (userNum.hasNext()) { int compareNum = userNum.next(); if (set.contains(compareNum)) { nomalCount++; } if (bonus_num == compareNum) bonusCount = true; } if (nomalCount == 6) { System.out.println("1등입니다"); } else if (nomalCount == 5 && bonusCount) { System.out.println("2등입니다"); } else if (nomalCount == 5) { System.out.println("3등입니다"); } else if (nomalCount == 4) { System.out.println("4등입니다"); } else if (nomalCount == 3) { System.out.println("5등입니다"); } else System.out.println("당첨되지 못하였습니다"); } } | cs |
'비트교육_단기과정' 카테고리의 다른 글
알고리즘 2번 문제 (0) | 2022.07.11 |
---|---|
알고리즘 1번 문제 (0) | 2022.07.11 |
Map<E> 성적관리 (0) | 2022.07.08 |
Set<E> 성적관리 (0) | 2022.07.08 |
List를 사용한 성적관리 (0) | 2022.07.07 |
Contents
소중한 공감 감사합니다