swing

(java)로또 게임 만들어 보기 - 10

mynote6676 2025. 4. 30. 13:10

 

frame

package lotto.ch01;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class LottoFrame extends JFrame implements ActionListener {

    private JButton button;

    public LottoFrame() {
        initData();
        setInitLayout();
        addEventListener();
    }

    private void initData() {
        setTitle("Lotto Game");
        setSize(600, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        button = new JButton("Game Start");
    }

    private void setInitLayout() {
        add(button, BorderLayout.NORTH);

        setVisible(true);
    }

    private void addEventListener() {
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println(" 그림을 그려라");
    }

    //테스트 코드 작성
    public static void main(String[] args) {
        new LottoFrame();
    }
}

 

 

-------------------------------------------------------------------------------------------------

 

 

v01

package lotto.ch01;

import java.util.Arrays;
import java.util.Random;

/**
 * SRP -클래스를 설계할때의 원칙중 하나
 * 단일 책임에 원칙(클래스는 가능한 한 단하나의 책임을 가지는것이 좋다.)
 */
public class LottoRandomNumber {

    final int LOTTO_NUNBER_COUNT = 6;

    //메서드 : 6개의 랜덤번호 필요 (중복제거, 정렬)
    public int[] createNumber() {
        int forCount = 0;
        int[] lottoWinNum = new int[LOTTO_NUNBER_COUNT];
        Random random = new Random();

        for (int i = 0; i < lottoWinNum.length; i++) {
            lottoWinNum[i] = random.nextInt(45) + 1;
            for (int j = 0; j < i; j++) {

                if (lottoWinNum[j] == lottoWinNum[i]) {
                    i--;
                }
            }
        } // outer for

        System.out.println(" outer for count " + forCount);

        Arrays.sort(lottoWinNum);


        return lottoWinNum;
    }

    //테스트 코드 작성
    public static void main(String[] args) {
        LottoRandomNumber lottoRandomNumber = new LottoRandomNumber();
        int[] result = lottoRandomNumber.createNumber();
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
    }

}

 

 

 

 

 

v02

 

 

package lotto.ch02;

import java.util.Arrays;
import java.util.Random;

/**
 * SRP -클래스를 설계할때의 원칙중 하나
 * 단일 책임에 원칙(클래스는 가능한 한 단하나의 책임을 가지는것이 좋다.)
 */
public class LottoRandomNumber {

    final int LOTTO_NUNBER_COUNT = 6;

    //메서드 : 6개의 랜덤번호 필요 (중복제거, 정렬)
    public int[] createNumber() {
        int forCount = 0;
        int[] lottoWinNum = new int[LOTTO_NUNBER_COUNT];
        Random random = new Random();

        for (int i = 0; i < lottoWinNum.length; i++) {
            lottoWinNum[i] = random.nextInt(45) + 1;
            for (int j = 0; j < i; j++) {

                if (lottoWinNum[j] == lottoWinNum[i]) {
                    i--;
                }
            }
        } // outer for

        // System.out.println(" outer for count " + forCount);

        Arrays.sort(lottoWinNum);


        return lottoWinNum;
    }

    //테스트 코드 작성
    public static void main(String[] args) {
        LottoRandomNumber lottoRandomNumber = new LottoRandomNumber();
        int[] result = lottoRandomNumber.createNumber();
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
    }

}

 

 

 

v03

 

package lotto.ch03;

import java.util.Arrays;
import java.util.Random;

/**
 * SRP -클래스를 설계할때의 원칙중 하나
 * 단일 책임에 원칙(클래스는 가능한 한 단하나의 책임을 가지는것이 좋다.)
 */
public class LottoRandomNumber {

    static final int LOTTO_NUNBER_COUNT = 6;
    static final int LOTTO_NUNBER_RANGE = 45;


    //메서드 : 6개의 랜덤번호 필요 (중복제거, 정렬)
    public int[] createNumber() {
        int forCount = 0;
        int[] lottoWinNum = new int[LOTTO_NUNBER_COUNT];
        Random random = new Random();

        for (int i = 0; i < lottoWinNum.length; i++) {
            lottoWinNum[i] = random.nextInt(LOTTO_NUNBER_RANGE) + 1;
            for (int j = 0; j < i; j++) {

                if (lottoWinNum[j] == lottoWinNum[i]) {
                    i--;
                }
            }
        } // outer for

       // System.out.println(" outer for count " + forCount);

        Arrays.sort(lottoWinNum);


        return lottoWinNum;
    }

    //테스트 코드 작성
    public static void main(String[] args) {
        LottoRandomNumber lottoRandomNumber = new LottoRandomNumber();
        int[] result = lottoRandomNumber.createNumber();
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
    }

}

'swing' 카테고리의 다른 글

(JAVA)Bubble Game -1 (기본화면 완성)  (0) 2025.05.01
(JAVA)Swing (Thread 활용)  (1) 2025.05.01
(JAVA)Swing Key Listener - 9  (0) 2025.04.29
(JAVA) 버튼으로 무지개 색을 입혀보자  (0) 2025.04.29
(JAVA)이미지 겹치는 방법 - 7  (0) 2025.04.29