Java课程设计-算术运算测试(D级) 齐鲁工业大学 计科20-1 王瀚垠 202003010033
Java课程设计-算术运算测试(D级)
齐鲁工业大学 计科20-1 王瀚垠 202003010033
目录
1.项目简介
2.项目采用技术
3.功能需求分析
4.项目亮点
5.项目功能架构图和UML类图
6.系统演示操作视频或者主要功能截图
7.团队成员负责模块(以表格的形式)
8.项目git地址
9.团队成员git提交记录截图
10.项目代码静态扫描通过证明
11.项目总结
正文
1.项目简介
本项目给出一个能够多用户进行100以内加减法运算测试的系统。使用者注册一定数目用户后,由每个用户按号码顺序分别答题,每位用户回答完毕后,其用户序号和分数都会被录入一个链表中。所有用户均完成测试后,链表中元素按照用户分数升序排列,统一倒序写入文本文件namelist.txt中,形成排行榜。
2.项目采用技术
(1)泛型与集合框架——链表
(2)创建并写入文件
(3)GUI(包含三个监视器进行事件处理)
(4)抛出异常和异常处理
3.功能需求分析
(1)注册用户:输入参与用户数,单击“注册”,系统创建对应数目的用户
(2)获取题目/跳至下一题/跳至下一用户:单击“下一题”对应三种情况:
(A)处于预备界面(每个用户在进入第一题之前的界面),单击进入第一题
(B)1-9题提交成功,单击进入下一题
(C)非最后一名用户第10题提交成功,单击进入下一用户预备界面
(3)提交答案和录入信息:用户输入自己的答案,单击“提交”获取评判。每个用户完成最后一题后,单击“提交”查看总分,同时系统将该用户的信息录入至链表。最后一位用户提交最后一题后,系统将链表中元素按照用户分数升序排列,统一倒序写入文本文件namelist.txt中,形成排行榜。
(4)生成题目:单击“下一题”,文本区被清空,生成两个100以内随机数,将两个操作数按照一定次序,与相应字符组合形成算式,显示在文本区中。
(5)评分:提交答案后,系统将用户输入答案与正确答案比对,判断正误。若正确该用户加一分。用户当前得分显示在文本区中。
4.项目亮点
(1)较完善的抛出异常和异常处理
(A)注册相关异常及处理
用户数目必须是正整数(不是整数和正数各一个异常处理),才能完成注册(如果输入负的小数,优先提示必须是整数)
重新注册后,之前的数据清零
相关代码
(B)“提交”相关异常及处理
未注册状态下无法提交
未获取题目状态下无法提交
提交答案格式不合理报错
不允许重复提交
相关代码
(C)“下一题”相关异常及处理
未注册状态下无法获取题目
未提交状态下无法获取下一题
所有用户作答完毕时给出提示
相关代码
(2)使用链表存储数据
相关代码截图如下
(3)写入文件考虑并列排名的情况
写入效果
写入原理相关代码
(5)借鉴在八次实验课中的学到的知识,学以致用
例如链表中的元素所属的People类和之前提到的链表相关代码
借鉴了实验八验证性实验2中相关的知识和方法
(6)参考CSDN上一篇非GUI的课程设计的源码的部分思想,学会了生成100以内加减法算式的方法
注:作标记的为我参考的部分
在此向原作者致谢!
5.项目功能架构图和UML类图
(1)项目功能架构图
(2)UML类图
6.系统演示操作视频或者主要功能截图
注册
答题
用户个人评分
答题结束
排行榜展示
7.团队成员负责模块(以表格的形式)
团队成员 |
学号 |
任务分配 |
王瀚垠(组长兼组员) |
202003010033 |
全部模块:布局设计、异常处理、事件处理、算法设计等,即所有类和方法全部由我独立完成。 |
8.项目git地址
https://gitee.com/wang-hanyin/homework-of-oop-course-design
9.团队成员git提交记录截图
10.项目代码静态扫描通过证明
11.项目总结
本次课程设计是在八次实验中用到的知识,尤其是GUI和泛型与集合框架、文件等知识的集大成之作,是我呕心沥血完成的。在设计项目中,挫折接踵而至,尤其是出现需要进行各种异常处理和非异常处理的那一部分,以及将排行榜写入文件的部分,涉及到许多具有挑战性的逻辑问题,但我最终克服了它们。在对自己小小的成就沾沾自喜时,也要意识到,我的设计中存在着待改进的疏漏之处。由于个人知识、技能和时间的限制,用户暂时跳过一道题去做下一题,然后再返回去做上一题的功能没有实现;多个用户在不同的平台上进行同步答题,信息由一个平台汇总的功能没有实现;通过对用户答题时间的记录,对同分数的用户再作排名的功能没有实现;用户自行创建用户名和密码,运用数据库登录账号的功能没有实现;界面设计不够美观等问题亟待改进。总之,经历过本次课程设计的我依然是有所收获,颇有成就感的。
Java课程设计-算术运算测试(D级) 齐鲁工业大学 计科20-1 王瀚垠 202003010033的更多相关文章
- java课程设计——算术运算测试个人博客
1.团队课程设计链接 团队博客:http://www.cnblogs.com/yytx/p/7064790.html 2.个人负责模块 有关排行榜的界面设计和代码编写 3.自己的代码提交记录截图 4. ...
- java课程设计-算术运算测试
1. 团队名称.团队成员介绍 团队名称:cococo 团队成员 组长:网络1514叶城龙 201521123109 组员:网络1514余腾鑫 201521123108 2. 项目git地址 http: ...
- JAVA课程设计-----加减法测试博客
1.团队成员介绍(一个人做的) 谢季努:网络1513 201521123079 2.项目git地址 3.项目git提交截图 4.项目运行截图 输入答案后点击确认就会出现本次的得分 如果觉得成绩不理想点 ...
- 2018.11.25 齐鲁工业大学ACM-ICPC迎新赛正式赛题解
整理人:周翔 A 约数个数(难) 解法1:苗学林 解法2:刘少瑞 解法3:刘凯 解法4:董海峥 B Alice And Bob(易) 解法1:周翔 解法2:苗学林 解法3:刘少瑞 C 黑白 ...
- JAVA课程设计——团队(&个人)博客
JAVA课程设计--团队(&个人)博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:是独立小分队啦 团队成员介绍:包梦榕 网络1513 201521123068 2. 项目git地址 ...
- java课程设计团队博客《基于学院的搜索引擎》
JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...
- Java课程设计(2019版)
参考资料 Java课程设计参考资料(2018-12-26更新) Java课程设计常见问题(程序部署.数据库.JSP) 项目开发参考-阿里巴巴Java开发手册(正式版) 更多参考资料请查看QQ群文件中的 ...
- java(课程设计之记事本界面部分代码公布)
代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
随机推荐
- Mybatis最终搭建
框架搭建的流程1. 导入jar2. 准备属性文件和配置文件3. 编写数据库的表和类4. 为类编写一个XxxMapper接口5. 编写接口对应的映射文件XxxMapper.xml6. 根据接口的方法, ...
- 云空调来自 GitHub 的冷气——GitHub 热点速览 v.21.20
作者:HelloGitHub-小鱼干 万物皆可上云,air-conditioner 是上周火爆小鱼干朋友圈和公众号信息流的云空调项目.第一眼的时候,你会觉得和这个云空调还挺别致的,第二眼,si~~感到 ...
- 不想用teamviewer和向日葵远程 试试frp吧
前言 最近发现teamview越来越不稳定了,总连接不上,对向日葵也是无感,倒不是说这两个产品不好,毕竟也是陪伴过我很长一段时间的软件了,于是上网找寻到了一个反向代理神器--FRP 介绍 frp是一个 ...
- Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止
nohup和&后台运行,进程查看及终止 阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...
- Python爬虫 小白[3天]入门笔记
笔记来源 Day-0 1.如果你还不了解Python的基础语法,可以移步|>>>Python 基础 小白 [7天] 入门笔记<<<|或自行学习. 简介 1.什么是爬 ...
- 安装beanstalkd队列问题——No package beanstalkd available
CentOS7.4安装beanstalkd 时无可用源 No package beanstalkd availableError:Nothing to do 可从以下获取:wget /etc/yum. ...
- Java中生成唯一标识符的方法
有时候业务需要生成唯一标识符,但又不能依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,此时我们就需要用程序来生成一个唯一的全局ID. UUID UUID是指在一台机器上 ...
- downloader middleware的三个methods不同返回的情况
要激活一个meddleware, 要在设置里面添加.例如: DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.CustomDownloaderMidd ...
- Apple Xcode 12.5 (12E262) 正式版发布 - 构建 Universal App
请访问原文链接:https://sysin.org/article/apple-xcode-12/,查看最新版.转载请保留出处. Xcode 12 简介 Xcode 12 采用全新设计,在 macOS ...
- 详述盒子模型(包含padding、border、margin的详细用法和描述)
提起盒子模型,我想无论是对于一个前端资深开发人员还是前端入门开发人员来说都不陌生,这是CSS最基础的知识. 但是惭愧地说,我之前理解的盒子模型,只是文字上的理解.我知道定义一个元素的宽度和高度时,设置 ...