paperOne基于java web的简易四则运算出题网站

项目成员:张金生     张政

需求概要

1.运算数均为正整数

2.包含的运算符有+,-,*,/

3.除法运算结果为整除运算

4.批量生成题目并判题

核心功能分析

1.题目生成——java后端

<待编辑>

2.对用户提交的答案进行评定——javascript前端

<待编辑>

部分功能实现

题目生成

 1     public String generateQuestion(int numOfOperand, int rangeMin, int rangMax, boolean isInt,
 2             SupportedOperation[] operation, boolean bracket) {
 3         String question = "";
 4         int[] ioperands = null;
 5         double[] doperands = null;
 6         SupportedOperation[] so = null;
 7         if (numOfOperand < 2) {
 8             System.out.println("操作数数量至少为2");
 9             return "";
10         }
11         if (rangMax > 500) {
12             System.out.println("操作数数最大值不能超过500");
13             return "";
14         }
15         if (isInt) {
16             ioperands = new int[numOfOperand];
17             for (int i = 0; i < numOfOperand; i++) {
18                 ioperands[i] = (int) (Math.random() * rangMax / 2 +1);
19
20             }
21             question += ioperands[0];
22             //int sub = ioperands[0];
23             so = new SupportedOperation[numOfOperand-1];
24             for(int i = 0;i < operation.length;i++){
25                 if(operation[i] == SupportedOperation.ALL){
26                     operation = new SupportedOperation[4];
27                     operation[0] = SupportedOperation.ADD;
28                     operation[1] = SupportedOperation.MINUS;
29                     operation[2] = SupportedOperation.MULTIPLY;
30                     operation[3] = SupportedOperation.DIVIDE;
31
32                 }
33             }
34             int value = 0;
35             for(int j = 0;j<numOfOperand-1;j++){
36
37                 so[j] = operation[(int)(Math.random()*operation.length)];
38                 switch(so[j]){
39                 case ADD:question = ioperands[j+1]+"+"+question;break;
40                 case MINUS:question = ioperands[j+1]+"-"+question;break;
41                 case MULTIPLY:question = ioperands[j+1]+"*"+question;break;
42                 case DIVIDE:{
43                     if(value < 1){
44                         ioperands[j+1] = ioperands[j+1]*ioperands[j];
45                         question =ioperands[j+1]+"/"+question;
46
47                         value++;
48                     }
49                     else{
50                         j--;
51                     }
52                 }break;
53                 default:System.out.println("sb");break;
54                 }
55             }
56             System.out.println(question);
57             ScriptEngine se = new ScriptEngineManager().getEngineByName("JavaScript");
58
59             try {
60                 Integer d = (Integer) se.eval(question);
61                 System.out.println(d);
62             } catch (ScriptException e) {
63                 e.printStackTrace();
64             }
65
66         } else {
67             doperands = new double[numOfOperand];
68             for (int i = 0; i < numOfOperand; i++) {
69                 doperands[i] = Math.random() * rangMax / 2;
70             }
71         }
72
73         return question;
74
75     }

答案评定

 1 <script type="text/javascript">
 2         function compute() {
 3
 4             for (var i = 1; i <= 20; i++) {
 5                 var a = "" + eval(document.getElementById("q" + i).innerHTML);
 6                 var auser = document.getElementById("a" + i).value;
 7                 if (a == auser) {
 8                     document.getElementById("r" + i).innerHTML = "正确";
 9                 } else {
10                     document.getElementById("r" + i).innerHTML = "错误";
11                 }
12             }
13
14         }
15     </script>

程序运行结果

可进行的拓展

1.拓展操作数到浮点数

2.括号引入

项目源码地址:https://coding.net/u/jx8zjs/p/paperOne/git

时间: 2024-11-13 00:56:22

paperOne基于java web的简易四则运算出题网站的相关文章

结对编程——paperOne基于java web的简易四则运算出题网站

项目成员:张金生     张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出: 4.包含用来填写答案的输入框: 5.答完后点击提交会直接显示相应题目的对错. 实现过程: 数据结构主要用到了数组 题目生成: 1 public String generateQuestion(int numOfOperand, int rangeMin, int rangMax, boolean

基于java web开发的一个购物网站

这是我与一名大四毕业生共同完成的. 我俩合作完成了前台购物. 后台的商家管理是由我独立完成,包括商品的添加,修改. 亮点是通过条形码采集器,获得包括条形码,商品数量,可以直接添加到数据库中实现商品的出库和入库. 目前项目还在完善,我独立完成的部分日后可以会连带前面的实现一个上线的小测试. 本项目参考了传智播客的教学视频:http://dvd.boxuegu.com/course/35.html 项目代码放在了github上,欢迎push: github地址

基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写

基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写 专业程序代写服务(QQ:928900200) 随着社会的进步.服务行业的服务水平不断发展与提高,宾馆.酒店.旅游等服务行业的信息量和工作量日益变大,而传统的人工管理方式已经远远不能满足现在旅游的服务方式.传统的旅游方式经分析其有诸多的缺陷,存在数据维护效率低下,不易保管,容易丢失和出错.同时查询也不方便,劳动力成本过高导致的旅游资源信息不方便,也在一定程度上导致了对各种信息反应缓慢,容易丧失商机.为了弥补上述缺陷,便于开展旅游预订工

基于Java Web的猜歌游戏设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着社会的不断发展,越来越多的人面临的压力越来越大,人们渴望随时随地都能放松自我.然而游戏正成为人们释放压力,放松自己最行之有效的娱乐方式之一.而基于Java Web的猜歌游戏以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐.系统通过数据库对用户基本信息和歌曲信息进行统一管理,借助经典的框架Servlet对数据进行处理,又选择了前端一些功能强大的插件对数据进行展示,将猜歌与游戏很好的结合起来,意在给用户创造了一个

基于java web+mysql的登录注册系统

 结对编程二人项目 组员:王刚029   齐凤霞007 项目名称:基于java web+mysql的登录注册系统 软件需求: 1,任何基于B/S或者C/S的软件都离不开基本的登录注册,我们决定采用B/S结构+MySQL数据库来完成基本的登录注册功能2,采用简单的JSP+Servlet+MySQL完成登录,注册功能3,登录,注册界面信息的回显,数据格式的校验功能 说明: 1,采用MVC模式,降低了代码的耦合性整体架构:>jsp显示页面和回显数据>Servlet负责处理jsp提交的数据>Se

基于 Java Web 的毕业设计选题管理平台--选题报告与需求规格说明书

一.选题报告 目录 团队名称 团队成员 项目名称 项目描述 创新与收益 用户场景分析 真实用户调研 未来市场与竞争 项目导图 比例权重 总结 1.团队名称--指南者团队 2.团队成员 孔潭活:2015034643032 何德新:2015034643017 吴淑瑶:2015034643018 苏咏梅:2015034643025 李茵敏:2015034643012 3.项目名称--基于 Java Web 的毕业设计选题管理平台 4.项目描述 在大多学校中的毕业论文双向选择管理大多都是采用了人工进行管

基于Java Web的新闻发布系统设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘要:现如今快速发展的互联网,已成为新兴的媒体发布形式,逐步影响到传统媒体行业的发展.与传统的信息传播媒体如电视.广播.报纸等相比,电脑.智能手机等终端因其传递信息方便.快捷,并满足人们对外界瞬息万变的信息的好奇心的特点,使得人们对网络新闻媒体越来越依赖.针对上述状况,推出了基于Java Web的新闻发布系统,在开发中基于My Eclipse平台,采用Tomcat 服务器,使用数据库My SQL.系统具有很好的人机界面,不仅实现了管理员

Java毕业设计----基于Java web的在线试题库管理系统

联系qq:2835777178 有兴趣者可先看代码运行视频再决定 部分论文: 目录 1 前 言 1 1.1 在线试题库管理系统现状 1 1.2 在线试题库管理系统的意义 2 2 系统的开发环境及技术简介 2 2.1 Eclipse简介 4 2.2 JSP简介 4 2.3 TOMCAT简介 4 2.4 MYSQL简介 4 3 系统可行性分析 5 3.1可行性分析 5 3.1.1经济可行性 5 3.1.2技术可行性 5 3.1.3操作可行性 5 4系统设计 6 4.1设计思想 6 4.2系统总体功能

基于java web的机票订购管理系统设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘  要 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要.目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作.因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行.