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]);
}
}
}
728x90