JAVA-WEB-简单的四则运算

首先附上选择题目数量和每行题数的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封装好的类然后进行调用

posted @ 2019-10-30 12:09  yizhixiaozhu  阅读(735)  评论(0编辑  收藏  举报