zoukankan      html  css  js  c++  java
  • 四则运算WEB版

    1》设计思路

    1.首先编写一个input.jsp页面,用于输入各种参数,如出题的个数和数值上限,简单运算还是混合运算

    2.编写index.jsp页面,用request接受input.jsp的参数,如果是简单运算,就是执行第一种算法,只出两个数的题,每出一题,输入一次答案,最后将输入答案,运算式和正确答案存到字符串中,而复杂运算则执行第二种算法,产生复杂运算式,也是每出一道题,输入一次答案,然后将运算式,输入答案和正确答案存到字符串中(其中产生算式和计算答案的方法和原来的普通四则运算一样)
    3.编写Result.jsp,用session和request接收运算式,输入答案和正确答案,如果输入答案和正确答案相同,就答对了,正确题目数目加1,否则就打错了,最后输出正确题目数目
     
    2》程序源代码
    input.jsp
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>首页</title>
    </head>
    <body background="image/beijing1.jpg">
    <form name="form1" method="post"action="index.jsp">
    <center>小学生的四则运算</center>
    <table align="center">
    <tr>
      <td>  请输入要出题的题目数量:  </td>
      <td> <input name="shuliang" type="text" id="shuliang"maxlength="5"></td>
    </tr>
    <tr>
       <td>
                       请输入要出题范围(1~?):
       </td>
        <td>
          <input name="fanwei" type="text" id="fanwei"maxlength="5">
        </td>
    </tr>
    <tr>
        <td>请选择计算的类型:
        </td>
        <td>
            <select name="leixing">
                <option value=0>简单运算</option>
                <option value=1>混合运算</option>
            </select>
        </td>
    </tr>
    </table>
        <center><input type="submit"value="开始答题"></center>
    </form>
    </body>
    </html>
    index.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"     pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body background="image/beijing2.jpg">  <% String leixing=request.getParameter("leixing"); if(Integer.parseInt(leixing)==0) {  %>   <%     int answer; //题目的答案   String j=request.getParameter("shuliang");//运算式的数量   int shuliang= Integer.valueOf(j);   String[] str=new String[shuliang];//用于连接输出字符   String[] daan=new String[shuliang];//输入的答案   String[] answer1=new String[shuliang]; //正确答案   String j1=request.getParameter("fanwei");//数值范围   int fanwei=Integer.valueOf(j1);   for(int i=0;i<shuliang;i++)   {       daan[i]="name"+i;     //生成0-100之间的随机数     int num1=(int)(Math.random()*fanwei+1);     int num2=(int)(Math.random()*fanwei+1);     int fuhao= (int)(Math.random()*4);     if(fuhao==0)     {         str[i]=num1+"+"+num2+"=";         answer=num1+num2;     }     else if(fuhao==1)     {         str[i]=num1+"-"+num2+"=";         answer=num1-num2;     }     else if(fuhao==2)     {         str[i]=num1+"*"+num2+"=";         answer=num1*num2;     }     else     {         str[i]=num1+"/"+num2+"=";         answer=num1/num2;     }        answer1[i]=""+answer;     out.print(str[i]);         %> <br> <form name="form2"method="post"action="Result.jsp">  请输入你的答案:<input name="<%=daan[i] %>" type="text" id="daan"maxlength="5">  <br>

    <%   } %> <%     session.setAttribute("v1",str);     session.setAttribute("v2",answer1); %> <input type="submit"value="确定"> </form>  <% } %>

    <%     if(Integer.parseInt(leixing)==1)     {         int answer; //题目的答案         String j=request.getParameter("shuliang");//运算式的数量         int shuliang= Integer.valueOf(j);         String[] str=new String[shuliang];//用于连接输出字符         String[] daan=new String[shuliang];//输入的答案         String[] answer1=new String[shuliang]; //正确答案         String j1=request.getParameter("fanwei");//数值范围         int fanwei=Integer.valueOf(j1);                 for(int i=0;i<shuliang;i++)         {             daan[i]="name"+i;             str[i]=""+(int)((Math.random()*fanwei)+1); //随机产生第一个数             int num=(int)(Math.random()*3+2);             int jisuan[]=new int[num+1];//用于保存中间结果             jisuan[0]=Integer.parseInt(str[i]);             char yunsuanfu[]=new char[num+1];             for(int l=1;l<num;l++)             {                 int fuhao= (int)(Math.random()*4);//随机产生符号                 int num2=(int)(Math.random()*fanwei+1);                 jisuan[l]=num2;                 if(fuhao==0)                 {                     str[i]+="+"+num2;                     yunsuanfu[l]='+';                 }                 if(fuhao==1)                 {                     str[i]+="-"+num2;                     yunsuanfu[l]='-';                 }                 if(fuhao==2)                 {                     str[i]+="*"+num2;                     yunsuanfu[l]='*';                 }                 if(fuhao==3)                 {                     str[i]+="/"+num2;                     yunsuanfu[l]='/';                 }             }             out.print(str[i]+"<br>");             for(int l=1;l<num;l++)             {                 if(yunsuanfu[l]=='*')                 {                     jisuan[l]=jisuan[l-1]*jisuan[l];                     jisuan[l-1]=0;                     yunsuanfu[l]=yunsuanfu[l-1];                 }                 else if(yunsuanfu[l]=='/')                 {                     jisuan[l]=jisuan[l-1]/jisuan[l];                     jisuan[l]=0;                     yunsuanfu[l]=yunsuanfu[l-1];                 }             }             for(int l=1;l<num;l++)             {                 if(yunsuanfu[l]=='+')                 {                     jisuan[l]=jisuan[l-1]+jisuan[l];                     jisuan[l-1]=0;                 }                 else if(yunsuanfu[l]=='-')                 {                     jisuan[l]=jisuan[l-1]-jisuan[l];                     jisuan[l-1]=0;                 }             }             answer1[i]=""+jisuan[num-1]; %> <br> <form name="form2"method="post"action="Result.jsp">  请输入你的答案:<input name="<%=daan[i] %>" type="text" id="daan"maxlength="5">  <br>  <%      } %> <%     session.setAttribute("v1",str);    session.setAttribute("v2",answer1); %> <input type="submit"value="确定"> </form>  <%        } %>

     <table>  <tr>      <td><img src="image/gougou.jpg"width="70"height ="74"></td>      <td>书山有路勤为径,学海无涯苦作舟!</td>     </tr>  </table> </body> </html>

    Result.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>结果</title>
    </head>
    <body background="image/beijing3.jpg">
    <%
        String[] s= (String[])session.getAttribute("v1");
        String[] answer= (String[])session.getAttribute("v2");
        String[] daan=new String[s.length];
        int count=0;//正确答案的个数
        for(int i=0;i<s.length;i++)
        {
            out.print("运算式为:");
            out.print(s[i]+"  ");
            out.print("您的输入结果为:");
            daan[i]=request.getParameter("name"+i);
            out.print(daan[i]+"   ");
             out.print("正确结果为:");
            out.print(answer[i]);
            if(Integer.parseInt(daan[i])==Integer.parseInt(answer[i]))
            {
                out.print("恭喜你答对了!");
                count++;
            }
            else
            {
                out.print("很遗憾,你打错了!");
            }
            out.print("<br>");
        }
        out.print("你一共答对的题目数:");
        out.print(count);
    %>
    </body>
    </html>

  • 相关阅读:
    Python生成器表达式
    Python列表解析
    Python迭代器(Iterator)
    Python set 集合
    python eval 函数妙用
    Python字典 (dict)
    Python序列之元组 (tuple)
    Python序列之列表 (list)
    递归和反射
    常用标准库
  • 原文地址:https://www.cnblogs.com/keaidejava/p/6704821.html
Copyright © 2011-2022 走看看