java课程设计---个人博客 彩票抽奖程序 201821123098 钟海清

目录

  • 1.团队课程设计博客链接
  • 2.个人负责模块或任务说明
  • 3.自己的代码提交记录截图
  • 4.自己负责模块或任务详细说明
    • 滚动抽奖
    • 自动注册
    • 读取表格信息
  • 5.课程设计感想

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

https://www.cnblogs.com/zhonghaiqing/p/12173066.html

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<i;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;
    }
}
  • 详解

自动注册

  • 代码
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();
    }
  • 详解

读取表格信息

  • 代码
// 历史开奖
    private Vector<Vector<String>> createTableModelData_historyAward() {

        Vector<Vector<String>> data = new Vector<Vector<String>>();
        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<String> rowData = new Vector<String>();

                // 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<String> createColumnNames_historyAward() {
        Vector<String> columnNames = new Vector<String>();
        // columnNames.add("序号");
        columnNames.add("日期");
        columnNames.add("号码");
        columnNames.add("奖池");
        columnNames.add("用户名");
        columnNames.add("中奖金额");
        return columnNames;
    }

    public DefaultTableModel historyAward() {
        DefaultTableModel model = null;
        // 表头(列名)
        Vector<String> columnNames = createColumnNames_historyAward();
        Vector<Vector<String>> data = createTableModelData_historyAward();
        // 创建一个默认的表格模型
        model = new DefaultTableModel(data, columnNames);
        return model;
    }
  • 详解

5.课程设计感想

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

原文地址:https://www.cnblogs.com/zhonghaiqing/p/12173506.html

时间: 2024-07-30 05:30:03

java课程设计---个人博客 彩票抽奖程序 201821123098 钟海清的相关文章

java课程设计-彩票购买抽奖程序

目录 彩票抽奖程序 可实现功能: 一. 团队介绍 二. 项目git地址 https://gitee.com/haiqingz/Lottery 三. 项目git提交记录截图 四. 项目功能架构图与主要功能流程图 项目功能架构图 主要功能流程图 五. 项目运行截图 用户注册界面: 用户登录界面: 用户购买彩票界面: 管理员运行界面: 自动注册界面: 滚动抽奖界面: 查看历史中奖界面: 六. 项目关键代码 客户端 管理员 七.尚待改进或者新的想法 八.团队成员任务分配 彩票抽奖程序 可实现功能: 允许

JAVA课设个人博客--多源数据教学管理系统

JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块如下 Ⅰ.将学生信息文件写入数据库 Ⅱ.将不同的excel表格写入数据库的表中,两种格式都行. Ⅲ.修改了从数据库导出生成Excel表的一些问题. Ⅴ.完善功能,改进,部分事件监听器代码 ①可以读取 不同 的txt文件 ②改进读取txt文件的图形界面 ③增加判断权值是否符合规定,可以删除建的表 ④完

java课程设计--坦克大战

java课程设计--坦克大战 一. 团队课程设计博客链接 https://www.cnblogs.com/zwtcyt/p/12173572.html 二.个人负责模块和任务说明 墙体类,子弹类,道具类以及音效类的编写,部分GUI的编写 三.代码的提交记录截图 四.负责模块和任务详细说明 墙体类 主墙体即不可摧毁的墙体 该类为所有障碍物的父类,子类继承时改变里面draw方法 草地类 河流类 可摧毁的墙类 音效类 子弹类 子弹与碰撞检测 利用javafx中shape的intersect方法来得出两

JAVA课程设计——愤怒的小鸟(个人)

基于Java Swing的GUI设计 团队博客 界面切换 利用CardLayout卡片布局,将多张"卡片"命名,需要调用时再通过名字切换至相应的"卡片" while(true) { switch(nextView) { case "startView": cardlayout.show(views, "startView"); startView.setRunning(true); nextView = startView.a

java(课程设计之记事本界面部分代码公布)

代码:涉及记事本的一些界面......!! 1 /* 2 *java课程设计之记事本(coder @Gxjun) 3 * 编写一个记事本程序 4 * 要求: 5 * 用图形用户界面实现. 6 * 能实现编辑.保存.另存为.查找替换等功能. 7 * 提示:使用文件输入输出流. 8 */ 9 package project; 10 11 import javax.swing.*; 12 import java.awt.*; 13 import java.awt.event.*; //引用类设置触发事

Java课程设计—学生成绩分析系统

Java课程设计 - 我的选题是学生成绩分析系统. 下面是课程的需求图: 完成的这个小系统其实逻辑代码是非常简单的,唯一感觉有难点的地方在于涉及到了知识点比较多.当时只是匆匆地大概学了Java的一些基本知识,书上的例题和代码也没怎么敲过, 几乎都是在边做的过程中边学具体需要用到的东西: 其中感觉最麻烦的地方就是JTable.文件读取IO流以及绘图和给各个组件布局的时候. 另外还花了些功夫在UI上面:我这次是用到了substance.jar的swing美化包,想了解的可以百度下,网上有很多教程.

关于Java一些好的博客链接:

关于Java一些好的博客链接(总结):    1.在web-inf中创建lib和classes,并绑定路径:    如何创建Web项目(http://www.cnblogs.com/yangyquin/p/5285272.html)        2.引用JSTL时,首先下载jakarta-taglibs-standard-1.1.2   http://blog.csdn.net/qq_31960191/article/details/52118616   http://blog.csdn.ne

java课程设计团队(搜索引擎)

JAVA课程设计 基于学院网站的搜索引擎 对学院网站进行抓取.建索(需要中文分词).排序(可选).搜索.摘要显示.可以是GUI界面,也可以是Web界面. 一.团队介绍 学号 班级 姓名 简介 201621123049 网络1612 [组长]袁德兴 热衷于网络安全 201621123047 网络1612 陈芳毅 有思想,有深度 ,有能力 201621044079 网络1612 韩烨 学习力强,人称韩可爱 201621123055 网络1612 刘兵 人称五社区发哥,动手能力强 2016211230

Java课程设计——彩票购买抽奖系统

一.项目介绍 题目要求 功能要求: 模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能. 1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性. 2.允许注册用户购买彩票:手动选号.随机选号,并允许设置投注数. 3.抽奖功能:要求屏幕上能够显示抽奖的号码滚动过程,按"停止"按钮给出抽奖结果.特等奖,7个号码全中.一等奖,6个号码全中.抽出号码后,显示中奖用户id,中奖的倍数. 4.彩票抽奖通知功能:抽出号码后,当用户登录系统后,系统提示是否中奖. 5.设计一自