java程序设计 彩票购买抽奖程序 团队博客
一、项目介绍
题目要求
功能要求: 模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能。
1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性。
2.允许注册用户购买彩票:手动选号、随机选号,并允许设置投注数。
3.抽奖功能:要求屏幕上能够显示抽奖的号码滚动过程,按“停止”按钮给出抽奖结果。特等奖,7个号码全中。一等奖,6个号码全中。抽出号码后,显示中奖用户id,中奖的倍数。
4.彩票抽奖通知功能:抽出号码后,当用户登录系统后,系统提示是否中奖。
5.设计一自动注册用户(注册10万个)、并自动买彩票为用户买彩票的程序。然后模拟抽奖。
二、团队名称、团队成员介绍(需要有照片)
团队成员:
林羽晴 网络1513 学渣一枚
郭炜埕 网络1513 团支书
三、项目git地址
https://git.oschina.net/vicheng/caipiaogoumaichoujiangchengxu.git
四、项目git提交记录截图(要体现出每个人的提交记录、提交说明),老师将点击进去重点考核。
五、项目功能架构图与主要功能流程图
- 思维导图
六、项目运行截图
登录账号密
随机选号或手动选号
显示用户信息
滚动抽奖并存入数据库
- 模拟注册和查看中奖用户的功能
七、项目关键代码(不能太多)
User.setPassword(NewPasswordField.getPassword());
User.setMoney(NewMoneyField.getText());
User.setTelnum(NewTelnumField.getText());
if(User.getUsername().length()==0){
JOptionPane.showMessageDialog(null, "请输入用户名!");
}else if(Arrays.toString(User.getPassword()).length()==0){
JOptionPane.showMessageDialog(null, "请输入密码!");
}else if(User.getMoney().length()==0){
JOptionPane.showMessageDialog(null, "请输入账户金额!");
}else if(User.getTelnum().length()==0){
JOptionPane.showMessageDialog(null, "请输入电话号码!");
}else{
JOptionPane.showMessageDialog(null, "新用户" + NewUserField.getText() + "注册成功!");
}
String strSql = "insert into userreserve(username,password,money,telnum) values(?,?,?,?)";
PreparedStatement prepare = null;
try {
Class.forName(driverName);
connection = DriverManager.getConnection(url, userName, password);
connection.setAutoCommit(false);
prepare = connection .prepareStatement(strSql);
prepare.setString(1,User.getUsername());
prepare.setString(2, Arrays.toString(User.getPassword()));
prepare.setString(3, User.getMoney());
prepare.setString(4, User.getTelnum());
prepare.addBatch();
prepare.executeBatch();
connection.commit();
}catch (SQLException sqlE) {
sqlE.printStackTrace();
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ArrayList<Integer> list = new ArrayList<>();
Random random = new Random();
int i = 0, num = 0;
while (i < 7) { //产生不重复的随机数并存入arraylist中
num = random.nextInt(35) + 1;
if (!list.contains(num)) {
list.add(num);
} else continue;
i++;
}
Num1Field.setText(list.remove(0) + "");
Num2Field.setText(list.remove(0) + "");
Num3Field.setText(list.remove(0) + "");
Num4Field.setText(list.remove(0) + "");
Num5Field.setText(list.remove(0) + "");
Num6Field.setText(list.remove(0) + "");
Num7Field.setText(list.remove(0) + "");
}
public void update() throws SQLException{
String strSql = "insert into userreserve(username,password,times,money,telnum,num1,num2,num3,num4,num5,num6,num7) values(?,?,?,?,?,?,?,?,?,?,?,?)";
Connection con = null;
PreparedStatement prepare = null;
ResultSet rs = null;
ArrayList<Integer> list= new ArrayList<Integer>();
try {
Class.forName(driverName); // 加载MySql的驱动程序
con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(false);
prepare = con.prepareStatement(strSql);
Statement statement=con.createStatement();
statement.executeUpdate("truncate table userreserve");//每次都要先清空
for (long i = 0; i < usernumber; i++) {
for (int k = 1; k <= 36; k++) {
list.add(k);
}
prepare.setString(1,(i+1)+"aaa");
prepare.setString(2, "[1, 2, 3]");
prepare.setInt(3,new Random().nextInt(10)+1);//设置随机倍数1-10
prepare.setString(4,"100");
prepare.setString(5,"1300");
for (int j = 0; j < 7; j++) {
int locat=new Random().nextInt(list.size());
prepare.setInt(j+6,list.remove(locat));//将随机产生的号码放入数据库
}
list.clear();
prepare.addBatch();
}
prepare.executeBatch();
con.commit();
} catch...
八、尚待改进或者新的想法
**由于测试自动注册10万的数据,所以每次注册都要先删除原先的数据库,则容易导致手动注册的用户信息丢失,要将抽奖和自动注册功能连接起来,注册用户时遇到相同账户时应如何解决;每个用户可购买多张彩票 **
九、团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长。
任务分配:
- 郭炜埕
用户端图形界面设计,创建User类、实现手动选号、随机选号、设置倍数及属性,买彩票消费金额和中奖奖金计算,数据库信息更新
header 1 | header 2 - 林羽晴
用户注册信息的存储,登录的匹配,通知中奖的功能,管理员界面设计,要求4和要求5,数据库创建
java程序设计 彩票购买抽奖程序 团队博客的更多相关文章
- Java课设 彩票购买抽奖程序 个人博客
一.团队课程设计博客链接 http://www.cnblogs.com/lyq063/p/7072507.html 二.自己的代码提交记录截图 三.自己负责模块或任务详细说明 用户注册信息的存储和登录 ...
- java课程设计--猜数字(团队博客)
java课程设计--猜数字(团队博客) 1.团队名称以及团队成员介绍 团队名称:cz 团队成员:陈伟泽,詹昌锦 团队照片: 2.项目git地址 http://git.oschina.net/Devil ...
- 20155205 《Java程序设计》0510课上实践博客
20155205 <Java程序设计>0510课上实践博客 一.教材代码检查-p98 未提交成功原因: 一开始在iterm中运行,但是结果出错,没有时间提交了.这个提交其实很简单,没有提交 ...
- Java课程设计 学生基本信息管理系统 团队博客
学生基本信息管理系统团队博客 项目git地址 https://git.oschina.net/Java_goddess/kechengsheji 项目git提交记录截图 项目功能架构图与主要功能流程图 ...
- Java课程设计 猜数游戏团队博客
1.团队成员介绍(需要有照片) 曾飞远(组长):网络1513 201521123080 江鹭涛(组员):网络1513 201521123075 2. 项目git地址 3. 项目git提交记录截图(要体 ...
- JAVA课设 学生基本信息管理 团队博客
1.成员 邹其元 网络1512 201521123060 杨钧宇 网络1512 201521123062 2.项目Git地址 团队项目码云地址 //添加截图 3. 项目git提交记录截图(要体现出每个 ...
- Java课程设计——GUI密码生成器团队博客
1.团队名称.团队成员介绍(需要有照片) 1.1团队名称 小黄人 1.2团队成员介绍 吴玲:组长,现任院就业会策划部副部长 郭琪容:组员,现任院硬件协会会长 2. 项目git地址 吴 玲 郭琪容 3. ...
- We Talk -- 团队博客
WeTalk --在线群聊程序 团队博客 服务器一直在运行,使用客户端可直接登入使用.(做得很粗糙...) 客户端下载(java环境下直接运行) 0.项目介绍 现在我们网上交流离不开微信和QQ,当然在 ...
- 《Java 程序设计》团队博客第十一周(第一次)
<Java 程序设计>团队博客第十一周(第一次) 团队项目 1.项目内容.目标 项目内容 本组的团队项目准备实现一个有关于大富翁有的游戏程序. 大富翁游戏,以经营权为主要的游戏方式,通过购 ...
随机推荐
- Qt实现九宫图类控件
<1>. 头文件(类声明) class CPreviewWidge : public QWidget { Q_OBJECT public: CPreviewWidge( ); ~CPrev ...
- iOS的阴影绘制及性能优化
今天来讲讲iOS开发过程中的阴影绘制及其潜在的绘图性能问题.虽然在开发过程中,我们使用阴影功能的机会不是很多,但是如果用了,有可能引起如卡顿等性能问题,所以,还是有必要来探究一下阴影的绘制过程,及如何 ...
- [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展camelize与dasherize方法(3)
在此之前,我们已经完成了4个方法: trimLeft, trimRight, trim, capitalize 本文,我们扩展驼峰式与下划线转化这两个对称的方法 camelize: 把空格,下划线,中 ...
- CentOS自带mysql配置(密码更改、端口开放访问、添加进系统启动项)
前些天虚拟机安装好了CentOS6.1,但是自己想远程连接自带的mysql发现不知道如何改密码,于是谷歌一下,把结果记录下来,方便后期自己使用: 方法一: # /etc/init.d/mysql st ...
- Tuple元组 C#
使用元组, 一些简单的结构或对象就不需要新建一个类了. https://msdn.microsoft.com/zh-cn/library/system.tuple.aspx
- Windbg调试关键区(CriticalSection)死锁
一. 准备工作 这里一个有关键区锁死问题的程序,运行之后依次点击"CS锁死"按钮.右上角退出按钮,程序就会卡死.(图1) 对于眼下的这个问题,界面完全失去响应,这说明负责消息处理的 ...
- Centos 开机后,登录时无法输入密码怎么解决
Centos 开机无法输入密码怎么解决... ========================= Q:centos启动后,输入登入账号,再输密码就输不进去了,打什么字都没有用... A:输入密码是不显 ...
- 并发是个什么鬼之同步工具类CountDownLatch
扯淡 写这篇文章,我先酝酿一下,实不相瞒,脱离底层太久了,更确切的情况是,真没曾认真研究过.就目前来说,很多框架包括工具类已经把实现封装的很深,你只需轻轻的调用一下API,便不费半点力气.以至于大家会 ...
- 新手学习SEO要做的七件事是什么?
学习SEO可能不那么先进的编程,学习SEO不可能掌握网页设计,学习SEO不需要学习SEO DIV + CSS;不是一个困难的任务,但是在学习过程中,如果你想掌握SEO,那么我们要做的几件事. 1.学习 ...
- python+selenium自动化软件测试(第13章):selenium面试题
前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下 一.selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法 ...