새소식

인기 검색어

비트교육_단기과정

로또 : 마기창

  • -
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

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.