四则运算网页版--结对项目

本文介绍了一个使用servlet实现的前后台分离的四则运算在线系统,具备定制出题、在线做题、自动判题和下载功能。用户可根据需求设定题目数量、数值范围等条件。后台代码分析涉及参数接收、式子类型判断、数据处理、跨域问题解决和文件下载路径处理。项目部署在个人服务器,并提供了GitHub仓库链接。
摘要由CSDN通过智能技术生成

前言:

这次项目是用前后台分离,后台代码由servlet编写。项目部署于我的个人服务器。

github仓库地址https://github.com/LeonP3ng/CalculateWeb.git

服务器项目地址https://rammsteinlp.cn/CalculateProject/

前台搭档陈慧妮博客: 

https://blog.csdn.net/olivia_chn/article/details/89184165

 

二、项目功能描述


      本项目是网页版的四则运算出题软件,此软件为学生用户提供以下功能:

      1、定制出题要求。

每次出题时,学生用户在页面输入学号和所需生成题目的要求:题目数量,算式数值范围(仅整数运算实现了),题目中运算符个数,题目中是否包含括号,题目中是否含分数。输入完要求后再点击开始生成题目按钮即可生成题目(不包含答案)。

      2、做题功能。

出题完毕后,学生用户可以答题并开始计时。

      3、判题功能。

学生用户作答完毕后点击在线验证答案即可查看正确答案、错题、正确率和用时。

      4、下载功能。  

学生用户可以点击下载题目按钮将本次所做的题目和答案下载到本地。
 

 

三、后台代码分析:

3.1接收参数

int n = Integer.parseInt(request.getParameter("n")); //出题数目
int ifBrack = Integer.parseInt(request.getParameter("ifBrack"));  //是否带有括号
int ifScore = Integer.parseInt(request.getParameter("ifScore"));  //是否含分数
int flagNumber = Integer.parseInt(request.getParameter("flagNumber")); //运算符数量
int studentId = Integer.parseInt(request.getParameter("studentId")); //学生学号,和生成的题目一同写入服务器,后期可以本地下载。
int lowLimit = Integer.parseInt(request.getParameter("lowLimit")); //产生数字最小范围
int highLimit = Integer.parseInt(request.getParameter("highLimit"));  //产生数字最大范围

这里对于产生数字结果范围我只限制了普通运算和带括号的运算,对于分数没有做到限制,首先是分数一定是真分数,即值小于1。但是如果对分子分母进行限制的话,我会一直报stack overflow也就是栈溢出。看了下报错日志,主要集中于我的判断分子分母是否最简时会调用求最大公因数函数&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值