Java

[Java] 로또 번호 생성기 (Lotto)

소댓 2023. 3. 24. 17:28

< 로또 번호 생성기 >

: Button, ActionListener, HashSet, setLabel 사용

 

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
package day16quiz;
 
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
 
public class Day16Q05 extends Frame implements ActionListener {
 
    Button btn1, btn2, btn3, btn4, btn5, btn6, btnGo;
    
    Day16Q05() {
        
        // 배치관리자 사용 x
        setLayout(null);
        
        // 멤버변수 초기화
        btn1 = new Button();
        btn2 = new Button();
        btn3 = new Button();
        btn4 = new Button();
        btn5 = new Button();
        btn6 = new Button();
        btnGo = new Button("인생은 한 방!");
        
        btn1.setBounds(701508080);
        btn2.setBounds(1601508080);
        btn3.setBounds(2501508080);
        btn4.setBounds(3401508080);
        btn5.setBounds(4301508080);
        btn6.setBounds(5201508080);
        btnGo.setBounds(12035035050);
        
        btnGo.addActionListener(this);
        
        add(btn1);
        add(btn2);
        add(btn3);
        add(btn4);
        add(btn5);
        add(btn6);
        add(btnGo);
        
        addWindowListener (new WindowAdapter() { 
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("종료합니다.");
                System.exit(0);
        }
        });
        setBounds(100100800600);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        Day16Q05 d = new Day16Q05();
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
        // Hash Set으로 하면? > 중복 x
        // 정수 배열 6자리
                int[] m = new int[6];
                
                // 1부터 45 사이의 정수를 생성
                Random rnd = new Random();
                
                HashSet hs = new HashSet();
                
                while(hs.size() < 6) {
                    hs.add(rnd.nextInt(45)+1);
                }
                
                // 배열에 담기
                Iterator it = hs.iterator();
                
                for(int i=0; i<m.length; i++) {
                    m[i] = (int)it.next();
                }
                Arrays.sort(m);
                
                btn1.setLabel(""+m[0]); // ""+숫자 = 문자
                btn2.setLabel(""+m[1]);
                btn3.setLabel(""+m[2]);
                btn4.setLabel(""+m[3]);
                btn5.setLabel(""+m[4]);
                btn6.setLabel(""+m[5]);
                
        
        
    }
}
 
cs