1.团队课程设计博客链接

2.个人负责模块或任务说明

我主要负责主要负责管理员类,实现滚动抽奖、自动注册购买彩票以及查看中奖信息和用户信息的方法

3.自己的代码提交记录截图

4.自己负责模块或任务详细说明

滚动抽奖

代码

public class MyThread extends Thread{//使用Runnable实现多线程可以达到资源共享目的

JTextField jf;

public volatile Boolean isPause=true;//暂停标志

public MyThread(JTextField jf) {

super();

this.jf = jf;

}

@Override

public void run() {

while(true){

try {

MyThread.sleep(100);

}catch(InterruptedException e) {

e.printStackTrace();

}

while(isPause) {

int[] ball = new int[7];

for(int i = 0;i<7;i++) {

ball[i] = (int) (1+(Math.random()*36));

for(int j=0;j

if(ball[i]==ball[j]) i--;//随机产生不重复的七个数字

}

}

Arrays.sort(ball);

jf.setText(ball[0]+","+ball[1]+","+ball[2]+","+ball[3]+","+ball[4]+","+ball[5]+","+ball[6]);

}

}

}

public void stopping() {

isPause=false;

}

}

详解

利用多线程对开奖文本框的内容不断刷新滚动,实现滚动抽奖效果

设置一个isPause判断是否终止程序

自动注册

代码

public void Auto_Register(UAndT uat) throws IOException {

String nikename = generateString();

String name = generateString();

String password = generateString();

Random random = new Random();

int balance = random.nextInt(100);

String phone = generatePhoneString();

User newUsers = new User(nikename, name, phone, password, balance); // 注册账户

Date date = new Date();

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String pool = generateNumber();// 随机号码

int multiple = random.nextInt(1000);

Tickets ticket = new Tickets();

ticket.setNumber(pool);

ticket.setAmount(multiple);

uat.buyTickets(newUsers, ticket);

String filename = "txt\\UAndT.txt";

//int r = countLines(filename);

try (BufferedWriter bw = new BufferedWriter(new FileWriter(filename, true))) {

bw.write(dateFormat.format(date));

bw.write(" ");

bw.write(newUsers.getName());

bw.write(" ");

bw.write(pool);

//bw.write(UserGui.getUtlist().get(r).getTicket().getNumber());

bw.write(" ");

bw.write(Integer.toString(multiple));

bw.write(" ");

bw.newLine();

bw.flush();

bw.close();

} catch (Exception e) {

e.printStackTrace();

}

newUsers.register();

}

public void AutoRegister(String string) {

UAndT uat = new UAndT();

int num = Integer.parseInt(string);

Thread t1 = new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

for (int i = 0; i < num; i++) {

try {

Auto_Register(uat);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// UserGui.getUtlist().add(uat);

}

}

});

t1.start();

}

详解

根据传入text的jf获得需要自动注册的用户数,然后使用多线程循环多次自动注册

自动注册部分先随机生成用户信息,再传参到User建立一个用户类,然后购买彩票

读取表格信息

代码

// 历史开奖

private Vector> createTableModelData_historyAward() {

Vector> data = new Vector>();

String t = null;

try {

FileReader fr1 = null;

try {

String fileName = "txt/History.txt";

fr1 = new FileReader(fileName);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

BufferedReader br = new BufferedReader(fr1);

while ((t = br.readLine()) != null) {

String[] s = t.split("\\s+"); // 通过空格分割字符串数组

Vector rowData = new Vector();

// rowData.add("i");

String temp = s[0] + " " + s[1];

// rowData.add(s[0]);

rowData.add(temp);

rowData.add(s[2]);

rowData.add(s[3]);

rowData.add(s[4]);

rowData.add(s[5]);

data.add(rowData);

}

fr1.close();

br.close();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

return data;

}

private Vector createColumnNames_historyAward() {

Vector columnNames = new Vector();

// columnNames.add("序号");

columnNames.add("日期");

columnNames.add("号码");

columnNames.add("奖池");

columnNames.add("用户名");

columnNames.add("中奖金额");

return columnNames;

}

public DefaultTableModel historyAward() {

DefaultTableModel model = null;

// 表头(列名)

Vector columnNames = createColumnNames_historyAward();

Vector> data = createTableModelData_historyAward();

// 创建一个默认的表格模型

model = new DefaultTableModel(data, columnNames);

return model;

}

详解

将txt文件中一行内容存在一个vector里面,存储个人信息,然后再把每行存储的vector放到一个新的vector里面,存储所有用户信息

写入GUI表格时只需创建一个默认表格模型就可以自动一行一行写入

5.课程设计感想

学习要在实践中摸索才有实际成效,在编写函数的同时也提升了查找关键字的能力。这次课设可以实现学生信息的增删改查、对单个学生各科成绩画出柱状分布图功能和将学生信息汇总成excel功能,但还未实现多名学生同时生成成绩对比图,柱状图的画面质感也有待改进。我们希望在暑假能进一步完善功能,做出真正能够投入使用的学生成绩管理系统。

java课程设计抽奖程序源码_java课程设计---个人博客 彩票抽奖程序 201821123098 钟海清...相关推荐

  1. 小程序源码:字体设计符号组合多功能微信小程序

    这是一款主打字体设计,符号组合等多模板功能的一款微信小程序源码 内含多种功能,比如: 花式字体设计 表情字体组合设计 翅膀字体组合 火星文一键生成 符号库 空白名称 彩色网名等等 还有很多,所以小编就 ...

  2. 【小程序源码】字体设计符号组合多功能

    这是一款主打字体设计,符号组合等多模板功能的一款微信小程序源码 内含多种功能,比如: 花式字体设计 表情字体组合设计 翅膀字体组合 火星文一键生成 符号库 空白名称 彩色网名等等 还有很多,所以小编就 ...

  3. 小程序源码:仿各大APP种树微信小程序源码下载-简单快速上手

    这是一款仿各大APP的种树获取水果的一款微信小程序 可以对树浇水,杀虫,修剪等等 另外还有夺宝,更多小程序推荐 支持流量主模式等等 可以进行邀请好友加快树木的成长速度 小程序源码下载地址: 小程序源码 ...

  4. 小程序源码:百变头像框制作微信小程序源码下载,免服务器和域名

    这是一款头像框制作的微信小程序源码 支持多种模板制作! 如一些热门的,王者头像框,国旗头像框,职业头像框等等 这一款小程序是免服务器和免域名的 所以也就是说这是一款纯前端的一款微信小程序源码 无需设置 ...

  5. 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题-多玩法安装简单

    这是一款题库微信小程序源码 支持积分商城.自定义试题及导入.知识点分类.模式试题考试.流量主等 首页模块:专项刷题 .题型刷题.乱序刷题.我的收藏.我的错题.未作习题.刷知识点.考前必背 另外还有更多 ...

  6. 【小程序源码】谁是卧底线下发牌器微信小程序源码下载,强大的自定义功能

    看名字就知道啦,这是一个谁是卧底的小程序源码 游戏规则: 谁是卧底是一款线下聚会的游戏,考验口才和脑力的同时,也能活跃气氛. 游戏人数为4-12人,游戏角色包括平民,卧底,白板可供用户选择! 游戏步骤 ...

  7. 小程序源码:笑话与趣图框架微信小程序-多玩法安装简单

    这是一款以笑话和趣味图为主的一款微信小程序源码 或者也可以说是一个框架吧 里面的内容是内置在小程序里面的,所以说是一款框架也可以 因为内置的内容,所以内容数量有限! 大家可以用来养账号,或者有能力的二 ...

  8. 虎年姓氏头像微信小程序源码+文字变音+喝酒娱乐多功能小程序源码

    简介: 虎年姓氏头像微信小程序源码+文字变音+喝酒娱乐多功能小程序源码 网盘下载地址: http://www.zijiepan5.xyz/hNiChK2xwgy0 图片:

  9. 小程序源码:王者荣耀战力查询微信小程序源码下载支持安卓苹果微信QQ等多区查询-多玩法安装简单

    这是一款战力查询的微信小程序源码 源码内自带了接口 目前支持了微信,QQ,苹果,安卓全区都可以查询 支持流量主收益,而且搭建安装简单 使用微信开发者工具打开源码然后设置一下合法域名上传审核即可 该小程 ...

最新文章

  1. 阿里开源了一项自研核心技术 Pouch!
  2. 图片在容器里垂直居中
  3. Linux文本查看命令之touch
  4. 内存泄漏–测量频率和严重性
  5. c语言课程结束,【计算机】程序设计——C语言基础秋季学期课程圆满结束
  6. 招博后,比利时鲁汶大学 A2H 部计算机视觉动物行为分析方向
  7. MediaPlayer 的prepareAsync called in state 8 错误
  8. 日常生活开支记账明细_深圳公司如何记账报税代理记账报税的流程以及所需的资料...
  9. 最近30分钟合约市场爆仓842万美元
  10. 由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。
  11. 深度优先搜索(DFS)
  12. boost::asio的C/S结构笔记
  13. 解决Android Studio默认AppTheme 没有lable标签,不显示等问题
  14. linux下已修改但尚未保存_linux下查看和修改文件时间
  15. 【apicloud问题解决记录】键盘弹出监听处理以及头部底部的黑色闪屏现象
  16. MinGw编译opencv教程
  17. javaIO流实现文件拷贝
  18. imx6ul linux4,iMX6UL 4秒快速启动-飞凌嵌入式iMX6UL启动加速
  19. 职称计算机初级考试题,初级职称计算机考试题库
  20. dp hp oracle 备份软件_HP DP备份软件设置

热门文章

  1. IT技术晋级之路-锁定任务栏
  2. Vuetify Icon Picker
  3. MATLAB 脚本编程的常用快捷键的整理
  4. matlab gui停止键,MATLAB GUI给进度条添加取消按钮来中途结束程序
  5. C++ wstring和string互转
  6. 5个珍藏的广州拍照好位置!
  7. LaTex支持中文的三种方式(首推第一种)
  8. docker启动mysql容器后自动Exited
  9. 全国超100所高校开设网络空间安全专业,趋势和前景如何?
  10. 输入一个数判断其是否是质数