首先附上选择题目数量和每行题数的JSP代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<meta http-equiv="Content-Type" content="text/html;charset=ytf-8">
<title>四则运算</title>
</head>
<%
Object message=request.getAttribute("message");
if(!(message==null||message.equals("")))
{
%>
<script type="text/javascript">alert('<%=message%>')</script>
<%
}
%>
<body style="background-color:pink" align="center">
<form action="SizeServlet?method=submit" method="post">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p style="padding-left:200px;">请输入您要出多少道题:<input type="text" style="width:50px" name="sum"></p>
<p style="padding-left:200px;">请输入一行几到题:<input type="text" style="width:50px" name="n"></p>
<p style="padding-left:200px;"><input type="submit" value="提交"></p>
</form> </body>
</html>

现在是接收的Servlet层

package math;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class SizeServlet
*/
@WebServlet("/SizeServlet")
public class SizeServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public SizeServlet() {
super();
// TODO Auto-generated constructor stub
} protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException
{
arg0.setCharacterEncoding("utf-8");
arg1.setCharacterEncoding("utf-8");
String function=arg0.getParameter("method");
if(function.equals("submit"))
{
String str;
int sum,n;
str=arg0.getParameter("sum");
if(str==""||str==null)
{
arg0.setAttribute("message", "提交失败,题目数不能为空");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);
return;
}
sum=Integer.valueOf(str).intValue();
str=arg0.getParameter("n");
if(str==""||str==null)
{
arg0.setAttribute("message", "提交失败,每行个数不能为空");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);
return;
}
n=Integer.valueOf(str).intValue();
SizeService.setSum(sum);
SizeService.setN(n);
if(sum<=1000&&n<=8&&n>0)
{
arg0.setAttribute("message", "提交成功");
arg0.getRequestDispatcher("NewFile.jsp").forward(arg0, arg1);
return;
}
else
{
arg0.setAttribute("message", "提交失败");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);
return;
}
}
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

然后是出题的代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@ page language="java" import="math.StringHandle"%>
<%@ page language="java" import="math.EntityToString"%>
<%@ page language="java" import="math.MathGenerate"%>
<%@ page language="java" import="math.SizeService"%>
<title>四则运算</title>
</head> <body style="background-color:pink" align="center">
<form action="NewFile2.jsp">
<table align="center"> <%
MathGenerate mg=new MathGenerate();
int m,n;
m=SizeService.getSum();
n=SizeService.getN();
mg.generate(m, 1);
for(int i=0;i<mg.getAnwser().size();)
{
%>
<!-- 一行有几个 -->
<tr>
<%
for(int j=0;j<n&&i<m;j++,i++)
{ %> <td ><%=mg.getQuestion().get(i) %></td>
<td>=</td>
<td><input type="hidden" name="question" value=<%=mg.getQuestion().get(i) %>></td>
<td><input type="text" style="width:50px" name="answer" ></td>
<td><input type="hidden" name="daan" value=<%=mg.getAnwser().get(i) %>></td> <%} %>
</tr>
<%}%> </table>
<p align="center"><input type="submit" value="提交"></p>
</form>
</body>
</html>

其中出题代码中的MathGenerate()是自己定义的一个出题的类,专门用来出题,这里可以改成自己写的任何其他的出题类

然后就是判断做题是否正确的代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <%@ page language="java" import="math.SizeService"%>
<title>四则运算</title>
</head> <body style="background-color:pink" align="center"> <table align="center">
<% String answer[]=request.getParameterValues("answer");
String daan[]=request.getParameterValues("daan");
String question[]=request.getParameterValues("question");
int m,n;
m=SizeService.getSum();
n=SizeService.getN(); for(int i=0;i<m;i++)
{
if(answer[i].equals(""))
{
%>
<tr>
<td>您没有做第<%=i+1 %>题:</td>
<td><%=question[i] %></td>
<td>=</td>
<td>&nbsp;</td>
<td>这道题的正确答案是<%=daan[i] %></td>
</tr>
<%}
else if(daan[i].equals(answer[i]))
{
%>
<tr>
<td>您做的第<%=i+1 %>题:</td>
<td><%=question[i] %></td>
<td>=</td>
<td><%=answer[i] %></td>
<td>恭喜您做对了这道题</td>
</tr>
<%
}
else
{
%>
<tr>
<td>您做的第<%=i+1 %>题:</td>
<td><%=question[i] %></td>
<td>=</td>
<td><%=answer[i] %></td>
<td>很遗憾您做错了这道题,正确答案是<%=daan[i] %></td>
</tr>
<%} %> <%}%>
</table>
<a href="NewFile1.jsp"><button style="border:0px solid;background:lightblue;margin-left:50%;">重新做题</button></a>
<br>
<br>
<a href="NewFile3.jsp"><button style="border:0px solid;background:red;margin-left:50%;">结束答题</button></a> </body>
</html>

这个主要的就是值的传递

然后就是最简单的结束代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>结束</title>
</head>
<body style="background-image:url(44444.jpg);" align="center">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<h1 style="color:red;font-size:500%" align="center">结束答题!</h1>
</body>
</html>

其中插了一张图片可根据自己需要删除

接下来是运行过程图片

提交之后进入答题界面:

点击提交进入判断正误界面(我没做这个题所以是这个样子)

在判断完正误之后可以选择继续答题或者结束答题

结束答题时这个样子的

这个四则运算主要的就是在JSP文件中值进行传递和页面的跳转其他的问题都时一些JAVA封装好的类然后进行调用

JAVA-WEB-简单的四则运算的更多相关文章

  1. JAVA实现简单的四则运算

    GitHub 项目地址 https://github.com/745421831/-/tree/master PSP PSP2.1 Personal Software Process Stages 预 ...

  2. 【知了堂学习笔记】java web 简单的登录

    最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" conte ...

  3. Java之简单的四则运算

    简单的四则运算 请你编写程序实现能处理两个数的+.-.*./.%的表达式程序.数据的输入/输出全部使用标准输入/输出,输入数据的第一行为你需要计算表达式的个数,从第2行开始,每一行为你计算的一个表达式 ...

  4. Java web 简单的增删改查程序(超详细)

    就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...

  5. 学生信息的添加 Java web简单项目初试(修改)

    错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...

  6. [转]java web简单权限管理设计

    原文地址:http://blog.csdn.net/zwx19921215/article/details/44467099 最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery eas ...

  7. java web简单权限管理设计

    一套最基本的权限管理包括用户.角色.资源. 数据库设计 我的设计如下: 用户:user 角色:role 用户-角色:user_role 资源:resource(包括上级菜单.子菜单.按钮等资源) 角色 ...

  8. java web 简单的登录注册

    --sql文件 create database studentgouse studentgocreate table stuinfo(--stuid int primary key identity( ...

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

    项目成员:张金生     张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 题目生 ...

  10. [Java.web]简单计算器

    项目的  WebRoot 目录下的 calculator.jsp <%@ page language="java" import="java.util.*" ...

随机推荐

  1. ajax head带参数两次请求

    ajax请求head里带数据 客户端先发一次option看看能不能登录,然后再发一次post

  2. centos7服务搭建常用服务配置之一:SSH

    目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 s ...

  3. 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理

    目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...

  4. DS博客大作业--树(李天明组)

    DS博客大作业--树 大作业博客要求 (10分) 1.树的存储结构说明 .树采用的是链式存储结构. .这段代码中定义了两个结构体.第一个是自定义为Name类型的结构体,里面的成员有字符串str和类型为 ...

  5. python搞搞大数据之hbase——初探

    使用python链接mysql读入一个表并把它再写到hbase 里去(九头蛇万岁) 先声明一下需要用的库: 俩!!: happybase    (写这个的老哥真的happy) pymysql 建议使用 ...

  6. error LNK2001: unresolved external symbol __imp__closesocket@4

    环境:Visual C++6.0 问题:链接错误 描述: Linking... NetSrv.obj : error LNK2001: unresolvedexternal symbol __imp_ ...

  7. 剑指offer21:第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。(注意:这两个序列的长度是相等的)

    1 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是 ...

  8. C++ Primer 5th Chap1.Getting Started

    在CommandPrompt上:(即cmd) 假定文件名为prog1.cc: 编译:$Compiler'sName prog1.cc 打开(prog1.exe):$prog1 打开(在当前目录):$. ...

  9. C标准库常用函数概要

    stdio.h printf()/fprintf() printf的返回值是打印的字符数, 发生错误则返回负数 scanf()/fscanf() scanf的返回值是成功赋值的变量个数, 失败则返回E ...

  10. Creating mailbox file: 文件已存在

    原来linux下添加用户后,会在系统里自动加一个邮箱(系统邮箱),路径是:/var/spool/mail/用户名.可以直接用命令#rm -rf /var/spool/mail/用户名 这样就可以再次添 ...