Lotto program ver_01

2018. 6. 3. 14:24·오랜된 포스팅/Java


(사진출처)http://news.donga.com/BZIT/List/3/all/50/1103402/1


로또 랜덤번호 추출기

# 구현기능

1. 사용자로 부터 구매하고 싶은 게임의 갯수를 입력받을 수있다.

2. 생성된 랜덤 숫자는 중복값이 없도록 제어하고 오름차순으로 정렬해준다.

3. 이번주 당첨번호를 입력해주면 사용자가 구매한 모든 번호의 결과를 분석 출력해준다. 


mainClass


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main;
 
import java.util.Scanner;
 
import dao.daoClass;
 
public class mainClass {
 
    public static void main(String[] arg) {
        Scanner sc = new Scanner(System.in);
        daoClass dao = new daoClass();
 
        // Variable
        String chNum;
        int conNum;
        
        while (true) {
            System.out.println("# 행운이 가득한 로또 자동번호 추출기입니다 ^^");
            System.out.print("구매 하시고 싶은 게임의 수를 입력하세요\n>>>");
            if (!dao.controller(chNum = sc.next())) {
                System.out.println("문자 혹은 0장을 입력하실 수 없습니다.");
                continue;
            }
            conNum = Integer.parseInt(chNum);
            dao.ground(conNum);
            System.out.println("\n당첨을 기원합니다! ^^");
            System.out.print("\n당첨결과를 확인 하시겠습니까?(y/n)\n>>>");
            chNum = sc.next();
            if(chNum.equals("y")||chNum.equals("Y")) {
                dao.search(conNum);
            }
            break;
        }
    }
}
 
Colored by Color Scripter
cs


daoClass

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
package dao;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
 
import dto.dtoClass;
 
public class daoClass {
    Scanner sc = new Scanner(System.in);
    dtoClass dto = new dtoClass();
    ArrayList<dtoClass> arrRNums = new ArrayList<dtoClass>();
    int nums[] = new int[7];
 
    // Input controller
    public boolean controller(String chNum) {
        boolean b = true;
        for (int i = 0; i < chNum.length(); i++) {
            char c = chNum.charAt(i);
            if (chNum.charAt(0) == 0) {
                b = false;
                break;
            }
            if ((int) c < 48 || (int) c > 57) {
                b = false;
                break;
            }
        }
        return b;
    }
 
    // gameRound
    public void ground(int conNum) {
        for (int i = 0; i < conNum; i++) {
            System.out.println(); // 개행
            System.out.print((i + 1) + "번째 랜덤 로또번호 ");
            creRNum();
        }
    }
 
    // create Random number
    public void creRNum() {
        int rNums[] = new int[6];
        int temp;
 
        boolean checkNums[] = new boolean[45];
        for (int i = 0; i < checkNums.length; i++) {
            checkNums[i] = false;
        }
        int w = 0;
        while (w < rNums.length) {
            temp = (int) (Math.random() * 45);
            if (checkNums[temp] == false) {
                checkNums[temp] = true;
                rNums[w] = temp + 1;
                w++;
            }
        }
        arrRNums.add(new dtoClass(rNums));
        rNums = swap(rNums);
        for (int i = 0; i < rNums.length; i++) {
            System.out.print("[" + rNums[i] + "]");
        }
    }
 
    // Swap
    public int[] swap(int rNums[]) {
        int temp;
        for (int i = 0; i < rNums.length; i++) {
            for (int j = 0; j < rNums.length; j++) {
                if (rNums[i] < rNums[j]) {
                    temp = rNums[j];
                    rNums[j] = rNums[i];
                    rNums[i] = temp;
                }
            }
        }
        return rNums;
    }
 
    // search
    public void search(int chNum) {
        int count; // 맞은 갯수
        int one = 0, two = 0, tre = 0, fou = 0, fiv = 0; // 등수
        int fail =0;
 
        System.out.println("\n# 구매하신 " + chNum + "개 게임과 이번주 당첨번호를 비교합니다.");
        System.out.println("# 이번주 당첨번호를 입력하세요.");
        for (int j = 0; j < 7; j++) {
            if (j == 6) {
                System.out.print("보너스 번호를 입력하세요");
                nums[j] = sc.nextInt();
                break;
            }
            System.out.print((j + 1) + "번째 번호\n>>>");
            nums[j] = sc.nextInt();
        }
        for (int i = 0; i < arrRNums.size(); i++) {
            boolean b = false;
            count = 0;
            int temp[] = arrRNums.get(i).getrNums();
            
            for (int j = 0; j < temp.length; j++) {
                for (int j2 = 0; j2 < nums.length; j2++) {
                    if (temp[j] == nums[j2]) {
                        count++;
                        if (temp[j] == nums[6]) {
                            b = true;
                        }
                    }
                }
            }
            System.out.println(); // 개행
            if (count == 6 && b == false) {
                System.out.println((i+1)+"번 게임 축하합니다 1등 입니다.");
                print(temp,nums);
                one++;
                System.out.println(); // 개행
                break;
            } else if (count == 6 && b == true) {
                System.out.println((i+1)+"번 게임 축하합니다 2등 입니다.");
                print(temp,nums);
                two++;
                System.out.println(); // 개행
            } else if (count == 5 && b == false) {
                System.out.println((i+1)+"번 게임 축하합니다 3등 입니다.");
                print(temp,nums);
                tre++;
                System.out.println(); // 개행
            } else if (count == 4 && b == false) {
                System.out.println((i+1)+"번 게임 축하합니다 4등 입니다.");
                print(temp,nums);
                fou++;
                System.out.println(); // 개행
            } else if (count == 3 && b == false) {
                System.out.println((i+1)+"번 게임 축하합니다 5등 입니다.");
                print(temp,nums);
                fiv++;
                System.out.println(); // 개행
            } else {
                System.out.println((i+1)+"번 게임 꽝!");
                print(temp,nums);
                fail++;
                System.out.println(); // 개행
            }
        }
        System.out.println(); //개행
        System.out.println("1등 : "+one+"번\t2등 : "+two+"번\t3등 : "+tre+
                "번\t4등 : "+fou+"번\t5등 : "+fiv+"번\t꽝 : "+fail+"번");
    }
    
    // print
    public void print(int[] temp,int[] nums) {
        System.out.print("당첨번호 : ");
        System.out.print("[" + nums[0] + "]"+"[" + nums[1] + "]"+"[" + nums[2] + "]"+
                "[" + nums[3] + "]"+"[" + nums[4] + "]"+"[" + nums[5] + "]"+
                "[ 보너스 : " + nums[6] + "]\n");
        System.out.print("내번호 : ");
        System.out.print("[" + temp[0] + "]"+"[" + temp[1] + "]"+"[" + temp[2] + "]"+
                "[" + temp[3] + "]"+"[" + temp[4] + "]"+"[" + temp[5] + "]");
    }
}
 
Colored by Color Scripter
cs


dtoClass


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package dto;
 
import java.util.Arrays;
 
public class dtoClass {
    private int rNums[];
    
    public dtoClass() {
        
    }
 
    public int[] getrNums() {
        return rNums;
    }
 
    public void setrNums(int[] rNums) {
        this.rNums = rNums;
    }
 
    @Override
    public String toString() {
        return "dtoClass [rNums=" + Arrays.toString(rNums) + "]";
    }
 
    public dtoClass(int[] rNums) {
        super();
        this.rNums = rNums;
    }
}
 
Colored by Color Scripter
cs



..

..


Ps. 1000만개는 사야.. 1개 당첨되네요 ^^;;;



저작자표시 비영리 변경금지 (새창열림)

'오랜된 포스팅 > Java' 카테고리의 다른 글

Number Baseball Game ver_02 (+G.U.I 기능추가)  (0) 2018.06.09
이클립스 한글 깨짐 방지 환경설정  (1) 2018.06.07
List Management Functions in java  (0) 2018.06.01
Baseball member management project(+File func)  (0) 2018.06.01
C.R.U.D filework version project  (0) 2018.05.31
'오랜된 포스팅/Java' 카테고리의 다른 글
  • Number Baseball Game ver_02 (+G.U.I 기능추가)
  • 이클립스 한글 깨짐 방지 환경설정
  • List Management Functions in java
  • Baseball member management project(+File func)
Toycode
Toycode
오늘도 훌륭했던 시간을 보내길 바라며
  • Toycode
    오늘도 훌륭했어
    Toycode
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • 블록체인 (0)
      • 기초 CS 파훼하기 (2)
      • IT 트렌드 (1)
      • 오랜된 포스팅 (45)
        • Java (25)
        • SQL Developer (14)
        • eGovFramework (5)
        • IOS (1)
  • 링크

    • Online Resume
  • hELLO· Designed By정상우.v4.10.0
Toycode
Lotto program ver_01
상단으로

티스토리툴바