10.24总结

news/2025/10/26 14:32:50/文章来源:https://www.cnblogs.com/zhao-hang/p/19166840

import java.util.*;
import java.util.concurrent.TimeUnit;

public class ArithmeticPractice {
private Set generatedQuestions = new HashSet<>();
private List questions = new ArrayList<>();
private List answers = new ArrayList<>();
private List results = new ArrayList<>();
private int totalQuestions = 30;
private int timeLimit = 5 * 60; // 5分钟,单位:秒
private Scanner scanner = new Scanner(System.in);
private boolean isTimeOut = false;

public static void main(String[] args) {ArithmeticPractice practice = new ArithmeticPractice();practice.generateQuestions();practice.startPractice();practice.showResults();
}// 生成30道不重复的题目
private void generateQuestions() {System.out.println("正在生成" + totalQuestions + "道题目...");while (questions.size() < totalQuestions) {int num1 = (int) (Math.random() * 100);int num2 = (int) (Math.random() * 100);int operator = (int) (Math.random() * 4); // 0:+,1:-,2:*,3:/String opSymbol = "";int result = 0;boolean valid = true;switch (operator) {case 0: // 加法opSymbol = "+";result = num1 + num2;break;case 1: // 减法,确保结果非负opSymbol = "-";if (num1 < num2) {valid = false;} else {result = num1 - num2;}break;case 2: // 乘法,确保结果不超过三位数opSymbol = "*";result = num1 * num2;if (result >= 1000) {valid = false;}break;case 3: // 除法,确保能整除且除数不为0opSymbol = "/";if (num2 == 0 || num1 % num2 != 0) {valid = false;} else {result = num1 / num2;}break;}// 检查题目是否有效且不重复String question = num1 + " " + opSymbol + " " + num2 + " = ?";if (valid && !generatedQuestions.contains(question)) {generatedQuestions.add(question);questions.add(question);answers.add(result);}}System.out.println("题目生成完毕,准备开始答题!");
}// 开始答题
private void startPractice() {System.out.println("\n答题开始!您有" + timeLimit/60 + "分钟时间完成" + totalQuestions + "道题。");System.out.println("请输入答案,然后按回车确认。");long startTime = System.currentTimeMillis();Thread timerThread = new Thread(new TimerRunnable(startTime));timerThread.start();for (int i = 0; i < totalQuestions; i++) {// 检查是否超时if (System.currentTimeMillis() - startTime > timeLimit * 1000L) {System.out.println("\n时间到!未完成的题目将视为错误。");isTimeOut = true;// 剩余题目标记为错误for (int j = i; j < totalQuestions; j++) {results.add(false);}break;}// 显示当前题目并获取答案System.out.print("\n第" + (i + 1) + "题: " + questions.get(i));try {if (scanner.hasNextInt()) {int userAnswer = scanner.nextInt();boolean isCorrect = (userAnswer == answers.get(i));results.add(isCorrect);// 即时判断并显示结果if (isCorrect) {System.out.println("正确!");} else {System.out.println("错误!正确答案是:" + answers.get(i));}} else {// 非数字输入视为错误scanner.next(); // 清除无效输入results.add(false);System.out.println("输入无效!正确答案是:" + answers.get(i));}} catch (Exception e) {results.add(false);System.out.println("输入错误!正确答案是:" + answers.get(i));}}// 中断计时线程timerThread.interrupt();
}// 显示答题结果
private void showResults() {int correctCount = 0;double accuracy = (double) correctCount / totalQuestions * 100;System.out.println("\n总题数: " + totalQuestions);System.out.println("做对: " + correctCount + "题");System.out.println("做错: " + (totalQuestions - correctCount) + "题");System.out.printf("正确率: %.2f%%\n", accuracy);System.out.println("------------------------------");
}// 倒计时线程
private class TimerRunnable implements Runnable {private long startTime;public TimerRunnable(long startTime) {this.startTime = startTime;}@Overridepublic void run() {try {while (true) {long elapsedTime = (System.currentTimeMillis() - startTime) / 1000;long remainingTime = timeLimit - elapsedTime;if (remainingTime <= 0) {break;}// 每分钟提示一次剩余时间if (remainingTime % 60 == 0) {System.out.println("\n剩余时间: " + remainingTime / 60 + "分" + remainingTime % 60 + "秒");}// 最后10秒每秒提示if (remainingTime <= 10) {System.out.println("\n剩余时间: " + remainingTime + "秒");}TimeUnit.SECONDS.sleep(1);}} catch (InterruptedException e) {// 线程被中断,正常退出}}
}

}

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

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

相关文章

《代码大全》读后感(1)

《代码大全》的开篇并未急于灌输编程技巧,而是先搭建了对“编程”这一行为的底层认知框架,这让我彻底摆脱了“代码只是指令集合”的浅层认知。书中将编程定义为“一项复杂的智力活动”,强调其兼具工程属性与艺术特质…

Function Calling

工作原理 Function Calling 通过在应用程序和大模型之间的多步骤交互,使大模型可以参考外部工具信息进行回答。https://help.aliyun.com/zh/model-studio/qwen-function-calling

20232302 2025-2026-1《网络与系统攻防技术》实验三实验报告

一.实验内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧。 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程(2)通过组合应用各种技术…

MCP Router使用学习

前言 最近在捣鼓使用 codex,由于 claude code 总是封号,就改用 codex 了,但是 codex 对于导入 mcp 有点麻烦,格式方式与之前不太相同,最近发现有个 mcp 集合工具,准备研究一下如何使用。 1. 为什么要用 MCP Rout…

fvm Flutter多版本管理安装与常用指令

一、安装pub.dev - fvmfvm 官方安装文档,包含各系统安装方式。也通过 Dart 包管理工具安装 FVM:$ brew tap leoafarias/fvm $ brew install fvm# 或$ dart pub global activate fvm环境变量配置建议,在 ~/.zshrc 或…

人生八要(摘抄)

大喜要稳;大怒要忍大惑要等;大悲要静大忙要慢;大闲要勤大富要俭;大穷要志最爱这句: 大惑要等不知道你现在在哪个阶段,希望你能体会其中道理

20232322 2025-2026-1 《网络与系统攻防技术》实验三实验报告

一.实验内容正确使用msf编码器,使用msfvenom生成如jar、php之类的其他文件,并用virustotal进行检测,会使用基本的免杀工具 通过组合应用各种技术实现恶意代码免杀 用另一电脑实测,在杀软开启的情况下,可运行并回连…

详细介绍:vb.net编写DDE(Dynamic Data Exchange)服务器

详细介绍:vb.net编写DDE(Dynamic Data Exchange)服务器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2025年内窥镜电缆线厂家权威推荐榜:B超线内窥镜电缆线,专业医疗线缆制造与定制化解决方案精选

2025年内窥镜电缆线厂家权威推荐榜:B超线内窥镜电缆线,专业医疗线缆制造与定制化解决方案精选 随着医疗影像技术的快速发展,内窥镜电缆线作为医疗设备信号传输的关键组件,其性能和质量直接影响诊断结果的准确性。在…

网络流题单

P1343:最大流 模板。 P2740:最大流 模板,文不成文,读题有点难度。 P2936:最大流、哈希 几乎是模板。 P2857:最大流、暴力/二分查找 题干文不成文……复杂度考察题。观察范围,发现暴力枚举+网络流的最坏复杂度是…

无情可破万局

现在的我。我非常喜欢。是的,我开始明白。  “无情可破万局”   --------至自己

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视引言2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单突破传统性能…

2025年盐趣科研教育深度解析:从录取数据看科研背景如何撬动名校门槛

引言 本文以“录取数据与科研背景关联度”为核心维度,为计划申请海外名校的学生与家长提供一份可量化、可对照的客观参考,避免在背景提升环节盲目投入。 背景与概况 盐趣科研教育(ViaX,官网www.viax.org)成立于20…

2025年10月膜结构厂家推荐榜:双资质企业对比评测 ,

把“膜结构”三个字敲进搜索框的那一刻,你大概率正被以下场景包围:市政广场要赶工期做景观遮阳,业主方要求“既要造型飘逸又要十年不塌”;学校体育馆想把旧网球场改造成全天候气膜馆,预算却被砍了15%;或是景区负…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦资质、案例、售后的十家机构深度解读

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,十家行业权威机构同步参与解读。本次榜单突破传统评选框架,以《铝合金门窗》(GB/T 8478-2008)为技术基…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,高性能,稳定性强的行业优选

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单以 “高性能、强稳定” 为核心评选导向,突破传统单一维度评估,以《铝合金门窗》(GB/T 8478-20…

2025年上海久宙集团:深度解析技术护城河与行业话语权

引言 本文从“技术领先与专利护城”这一核心维度切入,为读者提供一份关于上海久宙集团技术竞争力的客观参考。通过拆解其专利布局、研发平台、标准制定、质量认证及产业协同,帮助采购方、投资机构与同行判断其可持续…

2025年欧那德语深度解析:十二年在线小班模式全透视

引言 本文聚焦“教学服务闭环”这一核心维度,拆解欧那德语自2013年成立以来如何把“教、评、练、测”四个环节嵌进线上小班课,为潜在学习者提供一份可验证、可复盘的客观参照。 背景与概况 欧那德语成立于2013年,是…

在Azure DevOps Server中分析Git代码库的健康状况

在Azure DevOps Server中分析Git代码库的健康状况1. 概述开发团队使用Git作为版本管理工具,需要经常关注Git代码库的状况,例如分析代码库占用磁盘空间大小、开发人员提交和推送代码的频次、分支和标记的数据量、为合…

2025 年 10 月蒸汽发生器厂家最新推荐,聚焦跨平台能力与售后体系的实用指南

在工业数字化转型背景下,蒸汽发生器的跨平台适配能力(如与企业 MES 系统、能源管理平台对接)及完善的售后体系,成为企业保障生产效率的关键。本次推荐依据中国工业节能与清洁生产协会 2025 年 10 月《蒸汽发生器跨…