36选7彩票抽奖管理系统
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
一、项目简介
模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能。
1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性。
2.允许注册用户购买彩票:手动选号、随机选号,并允许设置投注。
3.抽奖功能:要求屏幕上能够显示抽奖的号码滚动过程,按“停止”按钮给出抽奖结果。特等奖,7个号码全中。一等奖,6个号码全中。抽出号码后,显示中奖用户id,中奖的倍数。
4.彩票抽奖通知功能:抽出号码后,当用户登录系统后,系统提示是否中奖。
5.设计一自动注册用户(注册10万个)、并自动买彩票为用户买彩票的程序。然后模拟抽奖。测试自己的抽奖程序正确与否。
二、项目模块
三 核心项目代码
用户登录页面
package mycompany.gui;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.BufferedReader;//读取文本
import java.io.File;
import java.io.FileNotFoundException;
import javax.swing.*;
import java.util.*;
import java.io.FileReader;//读取文件
import java.io.IOException;
import java.io.BufferedReader;//读取文本
import java.util.*;
import java.io.FileReader;//读取文件
import mycompany.info.*;
public class Login extends javax.swing.JFrame {
private User u;
private Ticket t;
public Login() {
initComponents();
this.setTitle("登录界面");
this.setResizable(false);
setLocationRelativeTo(getOwner());
}
@SuppressWarnings("unchecked")
private void initComponents() {
jPanel3 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
userTextField = new javax.swing.JTextField();
pwdPasswordField = new javax.swing.JPasswordField();
jPanel4 = new javax.swing.JPanel();
loginButton = new javax.swing.JButton();
rigistButton = new javax.swing.JButton();
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("彩票登录"));
jLabel1.setText("ID");
jLabel4.setText("密码");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(36, 36, 36)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(30, 30, 30)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(pwdPasswordField, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE)
.addComponent(userTextField))
.addContainerGap(50, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(15, 15, 15)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(userTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(pwdPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(39, Short.MAX_VALUE))
);
loginButton.setText("登录");
loginButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
loginButtonActionPerformed(evt);
}
});
jPanel4.add(loginButton);
rigistButton.setText("注册");
rigistButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
rigistButtonActionPerformed(evt);
}
});
jPanel4.add(rigistButton);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short