这是我们软件构造实验课的内容,就简单做了这么一个实验,话不多说直接上效果,是基于springboot实现的

可以轻松算出你的错题,并且整理错题(正确题目不会出现);

为了演示,只输入了一部分

关键代码如下:

package com.lrl.question.util;import com.lrl.question.vo.Question;
import com.lrl.question.vo.Problem;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@Configuration
public class QuestionUtil {@Beanpublic Problem getQuestion() {List<Question>questionList = new ArrayList<>();Integer result[] = new Integer[50];Problem problem = new Problem();int m = 0, n = 0, value = 0;char o = '+';Random random = new Random();int ov = random.nextInt(2); // 0:加号; 1:减号for (int i = 0; i < 50; i++) {if(ov == 0) {o = '+';do {m = random.nextInt(101);n = random.nextInt(101);value = m + n;}while(value > 100);}else {o = '-';do {m = random.nextInt(101);n = random.nextInt(101);value = m - n;}while(value < 0);}ov = random.nextInt(2);Question question = new Question();String que = "";question.setQuestion("" + m + o + n + " = ");question.setNum(i+1);questionList.add(question);result[i] = value;}problem.setResult(result);problem.setList(questionList);return problem;}
}
@Controller
public class QuestionController {@Autowiredprivate Problem getQuestion;@GetMapping("/")public String toQuestion(Model model){List<Question> questionList = getQuestion.getList();model.addAttribute("questionList",questionList);return "question";}@PostMapping("/score")private  String getGrade(Model model,Integer value[]){List<Mistake>mistakeList = new ArrayList<>();Integer score  = 100;Integer result[] = value;Integer answer[] = getQuestion.getResult();for (int i = 0; i < getQuestion.getList().size(); i++) {if(result[i]!=answer[i]){score = score-2;Mistake mistake = new Mistake();mistake.setMistake(getQuestion.getList().get(i).getQuestion());mistake.setMistakeNum(i+1);mistake.setMistakeResult(result[i]);mistake.setCorrectResult(answer[i]);mistakeList.add(mistake);}}model.addAttribute("score",score);model.addAttribute("mistakeList",mistakeList);return "score";}
}

有问题请留言

源码:https://gitee.com/ajsnl/question

采用Java编写一个软件,100以内的口算题,加减运算,运算结果位于[0,100]区间内,要求自动生成题库,实现自动判分,自动生成成绩,并且有图形化CUI界面相关推荐

  1. 时间计算题100道_B5 小学二年级数学100以内加减法口算计算题横式电子版3600道题 直接打印...

    灵活高效的计算能力是学好数学的基础,对孩子未来的学习成绩.学习习惯影响巨大!要想在数学学科上取得好成绩,那么在口算.计算上一定不能犯粗心马虎的错误,越是简单越不能忽视. 此套100以内加减法口算计算题 ...

  2. 【java实现100以内加减法口算练习程序】

    最近要交软件构造的小组期末项目了,我主要负责代码部分,以及界面设计,下面展示一下项目成果: 界面展示 主菜单: 批量生产习题菜单 以及异常提示: 随机产生习题界面 近期练习报告界面 联机操练习题界面 ...

  3. 用java编写一个简单计算器

    java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...

  4. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  5. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  6. 因xhost命令和DISPLAY环境变量操作不当导致无法启动Oracle图形化安装界面

    在redhat操作系统上安装Oracle 11.1时,遇到在执行runInstaller后无法启动安装图像化界面,甚是郁闷. 问题现象: 使用Xmanager2.0软件登陆AIX桌面,root用户可以 ...

  7. 采用JAVA编写程序实现从文件读取操作

    采用JAVA编写程序实现从文件读取操作 代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  8. java编写一个个人通信录程序

    Java编写一个个人通信录程序,具有如下功能: (1)定义一个类,包括姓名.邮政编码.通信地址等成员变量 (2)查找:根据姓名在文件中查找个人信息,如果找到则显示出来 (3)添加:向文件中写个人信息 ...

  9. Cortex—世界上第一个图形化人工智能界面问世

    文章来源:ATYUN AI平台 机器学习和AI很难理解,只有少数非常聪明的计算机科学家知道如何构建它们.但是一个新工具的设计者有一个很大的野心:为AI创建Javascript. 这个名为Cortex的 ...

最新文章

  1. Dan Gillmor总结微软付费平息纠纷历史
  2. python如何使用session和cookie_django进阶之cookie和session的使用示例
  3. java 中文怎么截取,java String 中文 字符串 截取
  4. MySQL 打开federated存储引擎
  5. 一个基于Spring极度简单的Restful API工具
  6. C#获取容器窗体中控件Location问题
  7. 浅谈Jfinal急速开发框架
  8. opencv ppt效果_opencv几何图形画法
  9. 专访华为杨海松:立足合作伙伴价值,构建健康HarmonyOS生态
  10. STM32相关问题解决方法
  11. 使用python对微信好友进行数据分析
  12. maven配置以及设置国内镜像
  13. android 记事本软件,安卓日历记事本软件
  14. 荣耀笔记本pro linux版本,荣耀MagicBook Pro锐龙版发布:首发锐龙7 3750H、还有Linux版...
  15. 假设中国某航空公司规定: 中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。 中国国内的航班的商务仓有食物供应,但是不可
  16. CSS基础班笔记(三)
  17. 微信,该文件已过期或已被清理
  18. 互联网大厂打工人的 16 个心酸瞬间:生活很现实,都是为了挣钱!
  19. 第十弹:网络公开课,免费学习资源,2020.07.05更新
  20. Android工程师应该具备的四大开发习惯

热门文章

  1. 软件加入使用时间_Adobe CC 2020 系列软件更新(Adobe Zii 2020 5.2.1)| Mac软件天堂
  2. 图解系统(六)——调度算法
  3. 如何用服务器内存做系统盘,服务器内存扩容怎么做
  4. 用java画爱心图_用java输出一个心型图案
  5. Asp.Net MVC访问数据库实现登录
  6. win10 who owns this pc? My organization I own it
  7. 【HashTab初学】哈希表
  8. 个人整理shell脚本编程笔记
  9. Spring cloud实现FeignClient指定Zone调用
  10. 服务器部署 winscp+putty