Java编程之小型抽奖系统—导入手机号和姓名

本文介绍如何使用Java编程实现一个小型抽奖系统,该系统从txt文本文件中导入手机号和姓名作为参与者信息。文件包含大量用户数据,如叶尔凯西、革命等。系统设定奖项包括7名用户,分别对应特等奖、一等奖、二等奖和三等奖各一名。文中提供Java源代码实现详情。
摘要由CSDN通过智能技术生成

问题描述:请使用Java编程实现小型的抽奖系统,要求导入手机号和姓名作为初始信息。

问题分析:

导入的文件格式是txt文本格式,文件的内容可以有上千百万个用户和手机号构成,格式如下:

叶尔凯西-15292760029

革命-13070317800

热依古丽-13070317811

杰格尔-15894139220

小叶-15299208037

大爷-13699382904

小花-13894353333

系统最少要输入7名用户,三等奖3名,二等奖2名,一等奖1名,特等奖1名;下面是Java源代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

public class ChooseAward extends JFrame
{
        /**
         * 
         */
        //系统自动生成
        private static final long serialVersionUID = 7510608124693852355L;

        JButton b_start = new JButton("开始");

        JButton b_stop = new JButton("停止");
        
        
        JPanel p_north=new JPanel();
        JPanel p_center=new JPanel();
        JPanel p_south=new JPanel();

        //菜单栏
        JMenuBar menubar=new JMenuBar();
        
        //菜单项
        JMenu fileMenu=new JMenu("文件");
        JMenu setMenu=new JMenu("设置");
        JMenu aboutMenu=new JMenu("关于");
        
        /*
         * 菜单子项
         */
        private JMenuItem[] filem={new JMenuItem("选择文件"),new JMenuItem("另存为.."),
                        new JMenuItem("保存"),new JMenuItem("退出")
        };
        
        
        JTextField t_identNumber = new JTextField(); // 身份证号的文本域

        Vector v_identNumber = new Vector(); // 存放读取出来的身份证的号码

        Vector v_name = new Vector(); // 存放读取出来的人的姓名

        Vector v_printident = new Vector(); // 存放中奖人的身份证号码

        JLabel l_information = new JLabel();

        JLabel l_identNumber = new JLabel();

        JLabel l_sysinformation = new JLabel("系统信息:");

        JFileChooser filechooser = new JFileChooser(); // 文件选择器

        //选择随机数的线成
        public ChooseThread awardThread = null;

        int chooseTime = 0; // 按下停止按钮的次数,也就是抽奖的次数

        public ChooseAward()
        {
                super("小型抽奖系统");
                t_identNumber.setEditable(false);
                /*
                 * 1.4以后的JDK可以不用Container
                 */
                Container contentPane = getContentPane();
                //BorderLayout布局管理器,东,南,西,北
                contentPane.setLayout(new BorderLayout());
                /*
                 * 给几个按钮和子菜单添加监听器
                 */
                filem[0].addActionListener(new ActionListener()
                {
                        // 注册加载事件的监听器
                        public void actionPerformed(ActionEvent e)
                        {
                                b_loadident_ActionPerformed(e);
                                }
                        });
                b_start.addActionListener(new ActionListener()
                {          
                        // 注册开始事件的监听器
                                        public void actionPerformed(ActionEvent e)
                                        {
                                                b_start_ActionPerformed(e);
                                        }
                                });
                b_stop.addActionListener(new ActionListener()
                {// 注册停止事件的监听器
                                        public void actionPerformed(ActionEvent e)
                                        {
                                                b_stop_ActionPerformed(e);
                                        }
                                });
                filem[2].addActionListener(new ActionListener()
                {// 注册打印事件的监听器
                                        public void actionPerformed(ActionEvent e)
                                        {
                                                b_printaward_ActionPerformed(e);
                                        }
                                });
                addWindowListener(new WindowAdapter()
                {
                        public void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术小咖龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值