【java】数学运算考试系统

目录

一、登录界面:

二、管理员界面:

三、学生考试界面:


面向小学低年级学生,随机生成两个整数的加减法算式要求学生解答。要求有用 户登录、注册等 GUI 界面,用户数据存入文件,体现面向对象编程思想。

功能 要求:

【管理员】可向题库中追加题目,确保算式的和或差没有超出 0~50 范围的加减 法,负数不允许;

【学生】 (1) 随机从题库中抽取出 10 道题,每题 10 分,程序结束时显示学生得分; (2) 对于每道题,学生输入正确答案得 10 分,否则不得分; (3) 总成绩 90 以上显示“SMART”,80-90 显示“GOOD”,70-80 显示“OK”, 60-70 显示“PASS”,60 以下“TRY AGAIN”。

提示:

开发工具:IntelliJ IDEA 

数据库相关:MySQL数据库、DataGrip开发工具

还需要下载相关的c3p0、驱动等,使用javafx编写界面

一、登录界面:

(登录管理员的监听器代码)

//设置按钮监听器
field3.valueProperty().addListener((observable, oldValue, newValue) -> {if ("管理员".equals(newValue)) {// 显示警告showWarning("提示", "您选择了管理员选项!");try {Class.forName("com.mysql.cj.jdbc.Driver"); // 加载驱动程序String dburl = "jdbc:mysql://localhost:3306/javafx";String sql = "select * from login2"; // login表的全部数据// 建立连接对象Connection conn = DriverManager.getConnection(dburl, "root", "cya091201");PreparedStatement stmt = conn.prepareStatement(sql);//查询语句,返回类型为ResultSet,通过调用他的方法可以对查询结果的每行进行处理ResultSet rst = stmt.executeQuery();//将输入的账号与密码与数据库中的进行比较ok.setOnAction(event -> {String idname = field1.getText();String password = field2.getText();if (isValidLogin(idname, password,rst)) {System.out.println("Login successful!");teacher tea=new teacher();tea.show();primaryStage.close();} else {System.out.println("Invalid username or password!");}});} catch (ClassNotFoundException e) {throw new RuntimeException(e);} catch (SQLException e) {throw new RuntimeException(e);}}
});

二、管理员界面:

(部分代码)

Stage stage=new Stage();
StackPane stackPane=new StackPane();
Label label=new Label("请输入你要添加的题目:");
label.setFont(Font.font(null, FontWeight.BOLD,20));
stackPane.setAlignment(label, Pos.CENTER); // 将标签居中对齐HBox hBox=new HBox(10);
HBox hBox1=new HBox(10);
hBox.setPadding(new Insets(10,10,10,10));
hBox1.setPadding(new Insets(10,10,10,10));Label signlabel=new Label("算式");
Label reslabel=new Label("答案");
signlabel.setFont(Font.font(null, FontWeight.BOLD,15));
reslabel.setFont(Font.font(null, FontWeight.BOLD,15));//TextField numfield=new TextField();
TextField signfield=new TextField();
TextField resfield=new TextField();
hBox.getChildren().addAll(signlabel,signfield);
hBox1.getChildren().addAll(reslabel,resfield);VBox vBoxfield=new VBox(10);
vBoxfield.getChildren().addAll(hBox,hBox1);Button ok=new Button("确定");
ok.setFont(new Font(15));

 

三、学生考试界面:

(部分代码)

//将数据题目显示到界面中,创建对象TableView<User> tableView = new TableView<>();//创建三个TableColumn对象,分别表示User对象的num、sign和res属性。0使用了泛型来指定列的数据类型和它们所属的User对象TableColumn<User, Integer> numColumn = new TableColumn<>("num");TableColumn<User, String> signColumn = new TableColumn<>("sign");TableColumn<User, Integer> resColumn = new TableColumn<>("res");//为每个TableColumn设置cellValueFactory,它决定了列中的单元格如何显示数据numColumn.setCellValueFactory(new PropertyValueFactory<>("num"));signColumn.setCellValueFactory(new PropertyValueFactory<>("sign"));resColumn.setCellValueFactory(new PropertyValueFactory<>("res"));tableView.getColumns().addAll(numColumn,signColumn,resColumn);//随机10个题目ObservableList<User> users = getDataFromDatabase();//隐藏最后一列答案resColumn.setVisible(false);tableView.setItems(users);VBox vBox = new VBox(tableView);vBox.setMaxSize(600,500);

提示:需要源码请私信,但源码有偿

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐系统三十六式学习笔记:原理篇.矩阵分解12|如果关注排序效果,那么这个模型可以帮到你

目录 矩阵分解的不足贝叶斯个性化排序AUC构造样本目标函数训练方法 总结 矩阵分解在推荐系统中的地位非常崇高。它既有协同过滤的血统&#xff0c;又有机器学习的基因&#xff0c;可以说是非常优秀了&#xff1b;但即便如此&#xff0c;传统的矩阵分解无论是在处理显式反馈&…

Python学习打卡:day11

day11 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day1183、自定义 Python 包创建包导入包方式1方式2方式3方式4 84、安装第三方包安装第三方包——pippip的网络优化 安装第三方包——PyCharm 85、…

LeetCode 2748.美丽下标对的数目:模拟

【LetMeFly】2748.美丽下标对的数目&#xff1a;模拟 力扣题目链接&#xff1a;https://leetcode.cn/problems/number-of-beautiful-pairs/ 给你一个下标从 0 开始的整数数组 nums 。如果下标对 i、j 满足 0 ≤ i < j < nums.length &#xff0c;如果 nums[i] 的 第一个…

获取真实IP总结

CDN&#xff1a;通过不同地理位置的缓存来加快访问速度&#xff0c;所以我们有可能访问的网口不是真实ip提供的网口。 思路&#xff1a; CDN是要钱的 CDN是基于静态解析的 1、DNS历史记录 找最早的那一条 因为网站刚开始搭建起来的时候&#xff0c;不会直接使用CDN 以下⼏个⽹…

Exposure X7软件安装包下载 丨不限速下载丨亲测好用

根据使用者情况表明Exposure的设计鼓励您进行创造性的工作&#xff0c;使用涂刷和遮罩工具将效果有选择地应用于图片的特定区域&#xff0c;非破坏性图层使您能够混合预设和调整&#xff0c;以获得无尽的外观。我们都知道Exposure是用于创意照片编辑的最佳图片编辑器&#xff0…

Ruby on Rails Post项目设置网站初始界面

在构建了Ruby的Web服务器后&#xff0c;第三步就可以去掉框架的官方页面&#xff0c;设置自己的网页初始页了。 Linux系统安装Ruby语言-CSDN博客 、在Ubuntu中创建Ruby on Rails项目并搭建数据库-CSDN博客、 Ruby语言建立Web服务器-CSDN博客 了解Ruby onRails项目中的主要文件…

OceanBase v4.2 特性解析:支持并发建表,提升OMS导入效率

背景 OceanBase 4.0版本新增了单日志流架构&#xff0c;使得OBServer单机突破了原有的分区数限制&#xff0c;支持更大数量的分区。 很多业务环境为了处理单机数据量过大的问题&#xff0c;通常采取分库分表的方法&#xff0c;这一方法会导致业务需要创建数十万乃至百万级别的…

贪吃蛇——c语言版

文章目录 演示效果实现的基本功能技术要点源代码实现功能GameStart打印欢迎界面和功能介绍绘制地图创建蛇创建食物 GameRun打印提示信息蛇每走一步 GameEnd蛇死亡后继续游戏 演示效果 贪吃蛇1.0演示视频 将终端应用程序改为控制台主机 实现的基本功能 贪吃蛇地图绘制蛇吃食物的…

服务器接收苹果订阅通知

我们的服务器需要提供一个URL来接收苹果的通知&#xff0c;要使用HTTPS。 苹果会对这个URL发送HTTP POST请求&#xff0c;body是JSON格式&#xff0c;包含了通知的内容。 我们服务器处理成功后&#xff0c;应向苹果返回HTTP 200。若出现问题&#xff0c;需要苹果重新发送通知…

apple watch上watchOS网络低级别和高级别区别,以及使用tcp/udp或者websocket的限制条件

可以直接看官方文档&#xff1a;TN3135: Low-level networking on watchOS | Apple Developer Documentation 高级网络&#xff1a;包括 URLSession 中的 HTTP 和 HTTPS 支持&#xff0c;以及在此之上的任何代码层。 低层网络&#xff1a;包括网络框架、 NSStream 和任何其他…

第 402 场 LeetCode 周赛题解

A 构成整天的下标对数目 I 计数&#xff1a;遍历 h o u r s hours hours &#xff0c;记录 h o u r s [ i ] % 24 hours[i]\%24 hours[i]%24 的出现次数 class Solution {public:long long countCompleteDayPairs(vector<int>& hours) {vector<int> cnt(24);…

2024.06.14【读书笔记】丨生物信息学与功能基因组学(第十四章 细菌和古细菌基因组 第四部分)【AI测试版】

读书笔记&#xff1a;《生物信息学与功能基因组学》第十四章 - 第四部分 摘要 第十四章的第四部分聚焦于原核生物基因组的深入分析&#xff0c;探讨了基因组比较学的应用、生物信息学工具在基因组研究中的重要性&#xff0c;以及未来研究方向的展望。 目录 原核生物基因组的…

苹果的后来者居上策略:靠隐私保护打脸微软

01.苹果与微软相比更注重用户隐私 我一直是Windows的忠实用户&#xff0c;但微软疯狂地将人工智能融入一切&#xff0c;让我开始觉得应该咬咬牙换成Mac。 自小我几乎只用Windows电脑&#xff0c;所以我对MacOS一直不太适应。虽然Windows 11有其缺点&#xff0c;但总的来说&am…

Pytorch构建vgg16模型

VGG-16 1. 导入工具包 import torch.optim as optim import torch import torch.nn as nn import torch.utils.data import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader import torch.optim.lr_…

阿里CEO个人投资的智驾公司,走了不一样的路

佑驾创新在去年8月和11月完成两轮融资&#xff0c;在今年5月底递表港交所&#xff0c;目前拿到了29家车企88款车型的量产订单。自动驾驶赛道不缺明星&#xff0c;这些因素本不足以凸显它的差异化。但是在招股书中&#xff0c;一条特殊的发展路线&#xff0c;却让佑驾创新显得不…

2024.6.20 刷题总结

2024.6.20 **每日一题** 2748.美丽下标对的数目&#xff0c;这道题可以通过暴力求解&#xff0c;也可以使用哈希表来求解&#xff0c;同时通过本题&#xff0c;我发现了C的gcd函数可以直接调用.暴力方法为两重循环遍历&#xff0c;判断他们的gcd是否为1&#xff1b;哈希表的方法…

DB9母头接口定义485

在通信技术中&#xff0c;DB9接口广泛应用于串行通信&#xff0c;尤其是在RS232和RS485标准中。虽然DB9接口最常见于RS232通信&#xff0c;但通过适当的引脚映射&#xff0c;它也可以用于RS485通信。本文将详细介绍如何定义和使用DB9母头接口进行RS485连接。 DB9母头接口简介 …

②-Ⅱ单细胞学习-组间及样本细胞比例分析(补充)

数据加载 ①单细胞学习-数据读取、降维和分群_subset函数单细胞群-CSDN博客‘ #2024年6月20日 单细胞组间差异分析升级# rm(list = ls()) library(Seurat)#数据加载(在第一步已经处理好的数据) load("scedata1.RData")#这里是经过质控和降维后的单细胞数据 tabl…

蓝牙模块在智能城市构建中的创新应用

随着科技的飞速发展&#xff0c;智能城市的概念已经逐渐从理论走向实践。物联网技术作为智能城市构建的核心驱动力&#xff0c;正在推动着城市基础设施、交通管理、环境监测等领域的深刻变革。蓝牙模块&#xff0c;作为物联网技术的重要组成部分&#xff0c;以其低功耗、低成本…

java文件IO操作

前言&#xff1a; java里面的文件操作分为文件系统操作和文件内容操作。文件系统操作主要是针对File这个类来进行操作&#xff0c;而文件内容操作总的来说有四个&#xff1a;Reader&#xff0c;Writer&#xff0c;InputStream&#xff0c;OutputStream&#xff0c;前面两个是通…