Java 模拟考试系统(Swing + IO)

2023-05-16

  • 编程语言:Java 14.0.1
  • IDE:intelliJ IDEA 2020.1.2

使用了MVC分层架构思想,并且仅涉及JavaSE内容

  • 功能:登录 + 考试
  • UI:Swing
  • 数据库:以文件充当数据库的功能,使用集合实现缓存机制

单例模式效果的两种实现

  1. 懒汉式(延迟加载)
  2. IOC控制权反转实现生命周期托管

重点在于考试功能的设计:

  1. 题库中有若干个题目,存储在文件中,一行一个。每一行就是一个String,使用特殊符号来分割题干(题目、选项)、答案和图片路径。

  2. 需要一个方法生成考卷,在题库中随机抽取若干个题目,使用ArrayList集合存储考卷。

    在其中需要做到无序不重复,可以使用set

    1. HashSet,决定于hashCode、equals方法
    2. TreeSet,决定于compareTo方法
  3. 在考试窗口上展示题目,对于选项按钮、切换按钮、提交按钮的事件绑定设计

  4. 添加倒计时功能,使用线程处理时间倒计时问题

展示

在这里插入图片描述
在这里插入图片描述

编辑器的编码设置

idea编辑器 --> File --> Settings --> Editor --> File Encodings
在这里插入图片描述
这个 Java demo 中涉及到使用 idea 编辑器创建文件、读取文件;有关编码问题,请参考上图。

完整代码获取

  • 代码:github
  • 如果你会使用github,可以看一下我的commit哦,功能逐步实现,并且分功能实现commit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 模拟考试系统(Swing + IO) 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • Linux删除停用的多路径磁盘

    1 确认已停用的磁盘 经确认sdh sdi sdj为已经停用的磁盘 root 64 test lsblk NAME MAJ MIN RM SIZE RO TYPE MOUNTPOINT sda 8 0 0 5 1T 0 disk sda1
  • 转载:PIXHAWK机架类型的的设置选择与电机通道顺序设置

    转载 xff1a https blog csdn net sinat 39342174 article details 80593564 1 共轴直升机 main1 左侧斜盘电机 xff0c 控制俯仰 main2 xff1a 左侧斜盘电机
  • vTaskDelayUntil函数介绍

    lt link rel 61 34 stylesheet 34 href 61 34 https csdnimg cn release blogv2 dist mdeditor css editerView ck htmledit view
  • px4用户指南-AttitudeControl

    网址 xff1a https docs px4 io master en flight stack controller diagrams html 上述网址中给出了控制器的执行频率以及控制算法 参考代码中的控制 xff0c 主要集中在At
  • 无人机光电吊舱目标定位

    64 无人机光电吊舱目标定位TOC 参考论文 一种基于KL AEPF的无人机侦察移动目标定位算法 了解目标定位需要用到的坐标系 这篇论文这部分讲的不错 xff01 一种基于KL AEPF的无人机侦察移动目标定位算法 end 一种基于KL A
  • 位置式PID和增量式PID的区别(转载)

    参考 https blog csdn net as480133937 article details 89508034 上述文章中给出了位置式PID和增量式PID的公式及区别 xff0c 比较容易理解
  • 步进电机介绍

    简介 步进电机是一种将 电脉冲信号 转换成 相应角位移或线位移 的电动机 每输入一个脉冲信号 xff0c 转子就转动一个角度或前进一步 xff0c 其输出的角位移或线位移与输入的脉冲数成正比 xff0c 转速与脉冲频率成正比 因此 xff0
  • NXP SDK包导入到MCUxPress

    NXP SDK包导入https blog csdn net weixin 43086497 article details 117023228
  • git学习

    下面这个主要是介绍git的相关的指令 https blog csdn net sinat 20177327 article details 76062030 下面这个是git安装软件地址 添加链接描述
  • 关于IAR项目文件中*.icf的相关理解

    https www cnblogs com henjay724 p 8191908 html
  • 学习《apache源代码全景分析》之存储段和存储段组摘录

    1 当数据在过滤器中流动传递的时候 xff0c 数据是以存储段组的形式组织的 每一个存储段组包含多个存储段 xff0c 每一个存储段是一种数据类型的抽象 2 存储段组包含多个存储段 struct apr bucket APR RING EN
  • Pod提示NetworkPlugin cni failed to set up .. network:open/run/flannel/subnet.env:nosuchfileordirectory

    K8s在创建pod时发现pod状态为ContainerCreating状态 检查pod的日志发现提示 Failed create pod sandbox rpc error code 61 Unknown desc 61 failed to
  • 【slighttpd】基于lighttpd架构的Server项目实战(7)—http-parser

    转载地址 https blog csdn net jiange zh article details 50639178 对于http服务器 xff0c http request的解析是比较麻烦的 xff0c 由于我们的重点并不在这上面 xf
  • Java 单例模式

    文章目录 单例模式单例模式Singleton单例模式的代码单例模式代码的分析单例模式的实现 单例模式 单例模式Singleton 当一个类的方法要被大量用户同时调用时 一般用户都会先创建这个类的对象再通过对象调用类中的方法 但是对象是存放在
  • J2EE Servlet 管理机制

    Tomcat 9 Servlet 管理机制 xff08 1 xff09 Servlet 对象 xff0c 通过生命周期托管的方式实现单例设计模式 xff08 2 xff09 默认效果是延迟加载 以 Tomcat9 为例 xff0c 需要在
  • idea 与 Tomcat 有一个美妙的约定

    IntelliJ IDEA 2020 1 2Tomcat 9 0 37 文章目录 一 xff1a Web 容器二 xff1a 下载 TomcatTomcat 容器的文件夹结构 三 xff1a 将 Tomcat 和 IDEA 集成在一起四 x
  • Java 线程 基础知识总结

    线程基础 很不严谨的说 xff0c 线程是什么 xff1f 线程就是为了让很多个东西并发执行 xff0c 大大的提高程序执行的效率啊 三个非常重要的概念 xff1a 程序 xff1a 一组写好了的静态代码块 xff08 就我们写的那些代码玩
  • 模拟银行系统 Java 四份代码(三种交互方式,两种数据存储方式)

    环境 编程语言 xff1a Java 14 0 1IDE xff1a intelliJ IDEA 2020 1 2有 Java demo 涉及到使用 idea 编辑器创建文件 读取文件 xff1b 有关编码问题 xff0c 请参考下图 id
  • Java 模拟数据库连接池 + 模拟ORM框架

    环境 编程语言 xff1a Java 14 0 1数据库 xff1a MySQL 8 0 xff08 用户名与密码都是root xff0c ip及端口是localhost 3306 xff09 JDBC xff1a mysql connec
  • Java 模拟考试系统(Swing + IO)

    编程语言 xff1a Java 14 0 1IDE xff1a intelliJ IDEA 2020 1 2 使用了MVC分层架构思想 xff0c 并且仅涉及JavaSE内容 功能 xff1a 登录 43 考试UI xff1a Swing数