이야기박스
JAVA - 로또 번호 뽑기 본문
반응형
로또 번호를 뽑는 프로그램입니다.
돈 많이 벌고 싶네요
버튼을 누를 때마다 로또 번호들이 생성되게 하겠습니다.
클래스는
액자 - Main
주 작업 화면 - Lottery
로또 번호들이 담기는 - EachNum
으로 구성하였습니다!
1. Main class
import java.awt.*; import javax.swing.*; public class Main{ public static void main(String[] args) { JFrame frame = new JFrame("Lottery"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Lottery primary = new Lottery(); frame.getContentPane().add(primary); frame.pack(); frame.setVisible(true); } }
2. Lottery class
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Lottery extends JPanel { private JPanel top, mid, bot; private EachNum lotData; private JButton btnStart, btnReset; private LotteryListener listener; public Lottery() { this.setPreferredSize(new Dimension(400,300)); this.setLayout(null); listener = new LotteryListener(); top = new JPanel(); top.setBackground(Color.black); top.setBounds(0, 0, 400, 50); this.add(top); JLabel lblTitle = new JLabel("To Be Rich Person"); lblTitle.setFont(new Font("Monofur",Font.BOLD,20)); lblTitle.setForeground(Color.white); top.add(lblTitle); lotData = new EachNum(); lotData.setBackground(Color.white); lotData.setBounds(0, 50, 400, 200); this.add(lotData); bot = new JPanel(); bot.setBackground(Color.black); bot.setBounds(0, 250, 400, 50); this.add(bot); btnStart = new JButton("generate"); btnStart.addActionListener(listener); btnStart.setBackground(Color.white); btnStart.setFocusPainted(false); bot.add(btnStart); } // Lottery() private class LotteryListener implements ActionListener { public void actionPerformed(ActionEvent event) { for(int i=0; i<7; i++) { lotData.makeNum(); } } // actionPerformed() } // LotteryListener class } // Lottery class
3. EachNum class
import java.awt.*; import javax.swing.*; public class EachNum extends JPanel { private int lotNum[]; JLabel title[], lotLabel[]; public EachNum() { this.setLayout(new GridLayout(2,7)); title = new JLabel[7]; for(int i=0; i<7; i++) { if(i == 6) { title[i] = new JLabel("Bonus"); this.add(title[i]); } else { title[i] = new JLabel((i+1)+"th"); this.add(title[i]); } // if.. else title[i].setHorizontalAlignment(SwingConstants.CENTER); title[i].setFont(new Font("Monofur",Font.PLAIN,14)); } // for i lotLabel = new JLabel[7]; for(int i=0; i<7; i++) { lotLabel[i] = new JLabel(); lotLabel[i].setVisible(false); lotLabel[i].setHorizontalAlignment(SwingConstants.CENTER); lotLabel[i].setVerticalAlignment(SwingConstants.CENTER); lotLabel[i].setFont(new Font("Monofur",Font.BOLD,14)); lotLabel[i].setForeground(Color.darkGray); this.add(lotLabel[i]); } // for i } // EachNum() public void makeNum() { } } // EachNum class
이 makeNum 매서드가 자꾸 오류가 나네요 ㅜㅜ
자바스크립트에 대한 지식이 없어서 해결이 안되서
수동으로 올려둡니다.
public void makeNum() {
lotNum = new int[7];
for(int i=0; i<7; i++) {
lotNum[i] = (int) (Math.random()*45) +1;
for(int j=0; j<i; j++) {
if(lotNum[i] == lotNum[j]) {
lotNum[i] = (int) (Math.random()*45) +1;
j = 0;
} // if
} // for j
lotLabel[i].setText(""+lotNum[i]);
lotLabel[i].setVisible(true);
} // for i
}
프로그램 실행 사진입니다!
- 실행 전
- 실행 후
자바 첫 글이라 간단한 프로그램으로 시작할게요!
당분간은 예전에 만들었던 프로그램 위주로 올리겠습니다!
반응형
'Programming Language > JAVA' 카테고리의 다른 글
Effective java 3/E - study 시작 (0) | 2018.11.16 |
---|---|
Java) join 메서드 (0) | 2017.11.24 |
Java) 후위수식 계산기 (0) | 2017.05.26 |
Java) 하노이 탑, 중간 체크 (0) | 2017.03.25 |
Java) Hanoi top 계획 (0) | 2017.03.25 |