JAVA

190820 - get Lotto Num

유순이 2020. 8. 29. 15:12

get Lotto Num

package test.lotto;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class getLottoNum extends JFrame implements KeyListener, MouseListener {
	Container c = getContentPane();
	JButton[] btn = new JButton[6];
	JButton[] returnBtn = new JButton[6];
	JButton runBtn = new JButton("Run");
//	JLabel topTitle = new JLabel("Lotto Number");
	final int WIDTHBTN = 50;
	final int WIDTHGAP = 12;

	public getLottoNum() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		c.setLayout(null);
		// 넘버 표시

		
		for (int i = 0; i < returnBtn.length; i++) {
			returnBtn[i] = new JButton("#" + (i + 1));
			returnBtn[i].setBounds(100 + (WIDTHBTN * i) + (WIDTHGAP * i), 175, WIDTHBTN + 10, WIDTHBTN);
			c.add(returnBtn[i]);
		}
		returnBtn[5].setText("Bonus");
		returnBtn[5].setBounds(100 + (WIDTHBTN * 6) + (WIDTHGAP * 6), 175, WIDTHBTN + 20, WIDTHBTN);
		
		c.add(runBtn);
		runBtn.setBounds(230, 275, WIDTHBTN + 50, WIDTHBTN);
		setSize(600, 500);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		c.setBackground(Color.DARK_GRAY);

		event();

		
//		c.add(topTitle);
//		topTitle.setBounds(10, 10, 80, 25);
//		topTitle.setForeground(Color.LIGHT_GRAY);
//		topTitle.setOpaque(true);

	}

	public void showResult() {

		int[] num = new int[6]; // 숫자를 담을 임의의 int형 배열 선
		for (int i = 0; i < num.length; i++) { // 배열 각 요소에 숫자(난수)를 담는 for 
			Random rd = new Random();
			num[i] = rd.nextInt(45) + 1;

			for (int j = 0; j < i; j++) { // 배열에 담긴 숫자의 중복여부를 확인하는 for 

				if (num[i] == num[j]) { // 중복되는 숫자가 있을 경우

					i--; // 로또번호 재생성을 위해 이전으로

					break; // 나가기

		
				}

			}

		}
		for (int i = 0; i < returnBtn.length; i++) {
			returnBtn[i].setText(String.valueOf(num[i])); // ������ ���
			


		}
		
		}

		

	// ArrayList, hashSet을 이용해서 중복제거하기 도전,,,

	private void event() {
		runBtn.addMouseListener(this); // 현재 동작하있는 이 객체에
		runBtn.addKeyListener(this);

	}

	public static void main(String[] args) {
		new getLottoNum();

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyReleased(KeyEvent e) {
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {
			showResult();
		}

	}

	@Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseEntered(MouseEvent e) {

	}

	@Override
	public void mouseClicked(MouseEvent e) {
		showResult();

	}
}