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

项目成员:张金生     张政

需求分析:

1.要进行四则运算;

2.运算题目随机;

3.进行对错判断;

4.整数运算。

程序概要:

1.用JSP实现;

2.用户可选择题目数量;

3.答题页用表格列出;

4.包含用来填写答案的输入框;

5.答完后点击提交会直接显示相应题目的对错。

实现过程:

数据结构主要用到了数组

题目生成:

 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("操作符错误");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 <= <%=num%>; 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>

程序运行结果

代码地址:https://coding.net/u/jx8zjs/p/paperOne/git

 

时间: 2024-10-22 05:00:47

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

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

项目成员:张金生     张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 <待编辑> 2.对用户提交的答案进行评定——javascript前端 <待编辑> 部分功能实现 题目生成 1 public String generateQuestion(int numOfOperand, int rangeMin, int rangMax, boolean isInt,

结对编程1 —— 基于GUI和Swing的四则运算题目生成器

结对编程1 -- 基于GUI和Swing的四则运算题目生成器 合作伙伴 201421123089 周迪 201421123069 黄睿 代码地址:https://git.coding.net/H1159650478/sizeyunsuanjiaqiang.git 题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一个有基本功能.一定价值的程序.在下面

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

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

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

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

基于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的猜歌游戏设计与实现

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

基于 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 web的机票订购管理系统设计与实现

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