问题描述:请使用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