자바 단순 추첨 기능 인터페이스 구현 (Random 클래스 사용)

9348 단어 자바실전
요구: 텍스트 상자 에 이름 을 추가 하고 이름 을 저장 하 며 인터페이스 에서 볼 수 있 습 니 다. 추첨 단 추 를 누 르 면 추첨 을 하고 마지막 당 첨 자 를 출력 합 니 다.추첨 에 관 해 서 는 당연히 랜 덤 수의 생 성 함 수 를 사용 해 야 하 며, 자바 에서 랜 덤 의 사용 은 비교적 간단 하 다.두 가지 다른 랜 덤 방법의 사용 이 있 는데 그 중 하 나 는 Math 의 random 이다.이 방법 은 0 ~ 1 사이 의 부동 소수점 을 만 들 고 정수 유형의 숫자 를 만 들 려 면 하나의 정 수 를 곱 하여 정수 유형 으로 강제 변환 할 수 있다.int n = (int)(Math.random()*x); 또 하 나 는 랜 덤 클래스 로 사용 시간 은 관련 대상 을 먼저 정의 한 다음 대상 호출 방법 으로 무 작위 수 를 생 성 해 야 한다.예: Random random = new Random ();int n = random.nextInt(50); 여기 서 생 성 된 숫자 는 0 ~ 50 사이 의 정수 로 50 을 포함 하지 않 는 다.
다음은 전체 코드 입 니 다.
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import java.util.Random;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JButton;

public class Lottery extends JFrame {
    static JTextField textField;
    static JTextField textField_1;

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Lottery frame = new Lottery();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

    }

    public Lottery() {
        Font fn = new Font("  ",Font.BOLD,15);//    ,         
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//       
        setBounds(100, 100, 625, 328);//       
        getContentPane().setLayout(null);//    

        JDesktopPane desktopPane = new JDesktopPane();//     
        //desktopPane.setToolTipText("         ");
        desktopPane.setBounds(24, 12, 171, 286);
        getContentPane().add(desktopPane);//    

        JLabel lblNewLabel = new JLabel("           ");//             
        lblNewLabel.setBounds(0, 12, 171, 13);
        desktopPane.add(lblNewLabel);

        textField = new JTextField();//   
        textField.setBounds(10, 37, 149, 26);
        desktopPane.add(textField);
        textField.setColumns(30);

        List list = new List();//    ,      
        desktopPane.setLayer(list, 100);
        list.setMultipleSelections(true);
        list.setBounds(8, 69, 151, 169);
        desktopPane.add(list);

        JDesktopPane desktopPane_1 = new JDesktopPane();
        desktopPane_1.setBounds(216, 12, 317, 286);
        getContentPane().add(desktopPane_1);

        JLabel lblNewLabel_1 = new JLabel("      ");
        lblNewLabel_1.setBounds(12, 12, 220, 19);
        desktopPane_1.add(lblNewLabel_1);

        JLabel label = new JLabel("          ");
        label.setBounds(12, 32, 275, 27);
        desktopPane_1.add(label);

        JTextArea textArea = new JTextArea(3,20);
        textArea.setBounds(12, 82, 281, 192);
        desktopPane_1.add(textArea);
        textArea.setFont(fn);

        JButton btnNewButton = new JButton("  ");
        btnNewButton.setBounds(543, 218, 70, 23);
        getContentPane().add(btnNewButton);

        int i=0;
        ArrayList str = new ArrayList(); 
        textField.addKeyListener(new KeyListener() {//       
            public void keyTyped(KeyEvent e) {}
            public void keyReleased(KeyEvent e) {}
            public void keyPressed(KeyEvent e) {//         ,          ,       ,     
                if(e.getKeyChar()!='
'
) return ; String name = textField.getText(); if(name.isEmpty()) return ; list.add(name+"
"
); str.add(name); textField.setText(""); } }); btnNewButton.addActionListener(new ActionListener() {// , public void actionPerformed(ActionEvent e) { // TODO int n = str.size(); int x = (int) (Math.random()*n); String s0 = str.get(x); String s1 = "\t\t\t"+s0+"
"
+s0+" 。"+"

"
+s0+" :
\t\t 66 。"
; textArea.setText(s1); } }); } }

좋은 웹페이지 즐겨찾기