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

    题目:实现网页上的四则运算练习

    设计思路:(整数为例)首先首页为选择做题的类型,用单选框进行选择,之后跳转到相应的页面进行题目规范的输入,例如:最大最小值,输入后进行提交,确认输入的信息无误,如果有误跳回页面,无误后转入出题页面,出一道题写一道题的答案,之后用session进行答案等的保存,将值传入到判断正误的页面,对输出正确,错输出错误和正确结果,题目全部做完进行结果的查看,点击返回主页,则返回到主页。主要是各种值得保存和调用,还有输入规范的判断。(分数和带括号的式子同理)。

    源代码:

    choose.jsp

    <%@ page contentType = "text/html; charset=utf-8" import = "java.sql.*" errorPage = "error.jsp" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>选择</title>
    <style>
    body {
      background: #222;
      margin: auto;
       960px;
    }
    
    .arc-text {
      font: 16px sans-serif;
    }
    
    .arc-center {
      fill: none;
    }
    
    #credit {
      position: absolute;
      font: 10px sans-serif;
      right: 10px;
      bottom: 10px;
      color: #ddd;
    }
    
    #credit a {
      color: inherit;
    }
    
    </style>
    <div id="credit">Inspired by <a href="http://blog.pixelbreaker.com/polarclock/">pixelbreaker</a>.</div>
    <script src="//d3js.org/d3.v3.min.js"></script>
    <script>
    
    var width = 960,
        height = 800,
        radius = Math.min(width, height) / 1.9,
        spacing = .09;
    
    var formatSecond = d3.time.format("%-S seconds"),
        formatMinute = d3.time.format("%-M minutes"),
        formatHour = d3.time.format("%-H hours"),
        formatDay = d3.time.format("%A"),
        formatDate = function(d) { d = d.getDate(); switch (10 <= d && d <= 19 ? 10 : d % 10) { case 1: d += "st"; break; case 2: d += "nd"; break; case 3: d += "rd"; break; default: d += "th"; break; } return d; },
        formatMonth = d3.time.format("%B");
    
    var color = d3.scale.linear()
        .range(["hsl(-180,60%,50%)", "hsl(180,60%,50%)"])
        .interpolate(function(a, b) { var i = d3.interpolateString(a, b); return function(t) { return d3.hsl(i(t)); }; });
    
    var arcBody = d3.svg.arc()
        .startAngle(0)
        .endAngle(function(d) { return d.value * 2 * Math.PI; })
        .innerRadius(function(d) { return d.index * radius; })
        .outerRadius(function(d) { return (d.index + spacing) * radius; })
        .cornerRadius(6);
    
    var arcCenter = d3.svg.arc()
        .startAngle(0)
        .endAngle(function(d) { return d.value * 2 * Math.PI; })
        .innerRadius(function(d) { return (d.index + spacing / 2) * radius; })
        .outerRadius(function(d) { return (d.index + spacing / 2) * radius; });
    
    var svg = d3.select("body").append("svg")
        .attr("width", width)
        .attr("height", height)
      .append("g")
        .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
    
    var field = svg.selectAll("g")
        .data(fields)
      .enter().append("g");
    
    field.append("path")
        .attr("class", "arc-body");
    
    field.append("path")
        .attr("id", function(d, i) { return "arc-center-" + i; })
        .attr("class", "arc-center");
    
    field.append("text")
        .attr("dy", ".35em")
        .attr("dx", ".75em")
        .style("text-anchor", "start")
      .append("textPath")
        .attr("startOffset", "50%")
        .attr("class", "arc-text")
        .attr("xlink:href", function(d, i) { return "#arc-center-" + i; });
    
    tick();
    
    d3.select(self.frameElement).style("height", height + "px");
    
    function tick() {
      if (!document.hidden) field
          .each(function(d) { this._value = d.value; })
          .data(fields)
          .each(function(d) { d.previousValue = this._value; })
        .transition()
          .ease("elastic")
          .duration(500)
          .each(fieldTransition);
    
      setTimeout(tick, 1000 - Date.now() % 1000);
    }
    
    function fieldTransition() {
      var field = d3.select(this).transition();
    
      field.select(".arc-body")
          .attrTween("d", arcTween(arcBody))
          .style("fill", function(d) { return color(d.value); });
    
      field.select(".arc-center")
          .attrTween("d", arcTween(arcCenter));
    
      field.select(".arc-text")
          .text(function(d) { return d.text; });
    }
    
    function arcTween(arc) {
      return function(d) {
        var i = d3.interpolateNumber(d.previousValue, d.value);
        return function(t) {
          d.value = i(t);
          return arc(d);
        };
      };
    }
    
    function fields() {
      var now = new Date;
      return [
        {index: .7, text: formatSecond(now), value: now.getSeconds() / 60},
        {index: .6, text: formatMinute(now), value: now.getMinutes() / 60},
        {index: .5, text: formatHour(now),   value: now.getHours() / 24},
        {index: .3, text: formatDay(now),    value: now.getDay() / 7},
        {index: .2, text: formatDate(now),   value: (now.getDate() - 1) / (32 - new Date(now.getYear(), now.getMonth(), 32).getDate())},
        {index: .1, text: formatMonth(now),  value: now.getMonth() / 12}
      ];
    }
    
    </script>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <form id="myForm" name="myForm" >
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p align="center">&nbsp;</p>
    <p align="center">&nbsp;</p>
    <p align="center">&nbsp;</p>
    <p align="center">请选择需要练习的题目类型</p>
    <p>&nbsp;</p>
    <p>
      <label>
        <div align="center">
        <div align="center">
            <input type="radio" name="RadioGroup1" value="zhengshu.jsp" id="RadioGroup1_0" />
          整数的算数题练习</div>
          </div>
      </label>
      <div align="center"><br />
      </div>
      <label>
      <div align="center">
          <input type="radio" name="RadioGroup1" value="zhenfenshu.jsp" id="RadioGroup1_1" />
        真分数算数题练习</div>
      </label>
      <div align="center"><br />
      </div>
      <label>
        <div align="center">
          <input type="radio" name="RadioGroup1" value="daikuohao.jsp" id="RadioGroup1_2" />
          带括号算数题练习</div>
      </label>
      <div align="center"><br />
      </div>
    </p>
    <p align="center">
        <br />
      </p>
    <div align="center">
      <input type="button" value="开始答题" onClick="check()" />
    </div>
    </form>
    <script>
    function check(){
         var input = document.getElementsByName("RadioGroup1");
         for(var i=0; i< input.length; i++ ){
             if(input[i].checked == true ){
                  //window.open(input[i].value,null); //新窗口打开
                   window.location=input[i].value; //当前窗口打开,注释一种方法
              }
         }
    }
    </script>
    </body>
    </html>

    chakan.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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <%
        String correct=String.valueOf(session.getAttribute("correct1"));
        String wrong=String.valueOf(session.getAttribute("wrong1"));
        out.print("正确的题号:"+correct+"      错误的题号:"+wrong);
        out.println("<script language = 'javaScript'> alert('点击确定返回开始页面!');</script>");
        response.setHeader("refresh","0;url = choose.jsp");
    %>
    
    </body>
    </html>

    chuanzhi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.util.regex.Pattern, java.util.regex.Matcher"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <% 
    
    
    String min = request.getParameter("min");
    session.setAttribute("min",min);
    String max = request.getParameter("max");
    session.setAttribute("max",max);
    String choose = request.getParameter("choose");
    session.setAttribute("choose",choose);
    String geshu = request.getParameter("geshu");
    session.setAttribute("geshu",geshu);
    
    Pattern pattern = Pattern.compile("[0-9]*"); 
    Pattern pattern1 = Pattern.compile("[1-3]"); 
    Matcher isNum = pattern.matcher(min);
    Matcher isNum2 = pattern.matcher(max);
    Matcher isNum3 = pattern.matcher(geshu);
    Matcher isNum4 = pattern1.matcher(choose);
    if( (!isNum.matches())||(!isNum2.matches())||(!isNum3.matches())||(!isNum4.matches()))
    {
        out.println("<script language = 'javaScript'> alert('输入错误,点击确定重新输入!!!');</script>");
        response.setHeader("refresh","0;url = zhengshu.jsp");
    } 
    else
    {
        response.setHeader("refresh","0;url = zhengshushizi.jsp");
    }
    %>
    </body>
    </html>

    daikuohao.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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <form id="form1" name="form1" method="post" action="kuohaochuanzhi.jsp">
      <label for="textfield"></label>
      <div align="center">最小值:
        <input type="text" name="kuohaomin" id="fenmin" />
        <br>
        最大值:<input type="text" name="kuohaomax" id="kuohaomax" />
        <br>
        题目个数:<input type="text" name="kuohaogeshu" id="kuohaogeshu" />
        <br>
      </div>
      <div align="center">
    <input type="submit" value="确定" value="kuohaochuanzhi.jsp">
    </div>
    </form>
    </body>
    </html>

    daikuohaoshizi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <div align="center">
      <%!
        int kuohaoi=0;
        String kuohaoArray[]=new String[1000];
        class daikuohao
        {
        //保存整数结果
             int re;
            //保存整数带余数的结果
             String re1;
            //保存三个整数公式的结果
             int resan;
        String function(int r ,int q, int fun)
        {
            //1有乘除法 2加减无负数 3除法无余数(12,1,0)
            String fu ="";
            String shizi="";
            int a=(int)(Math.random()*(r)%(r-q+1)+q);
            int b=(int)(Math.random()*(r)%(r-q+1)+q);
            int c=(int)(Math.random()*4);
            
            //1乘除法 2除法无余数****12
            if(fun==12)
            {
                if(c==0)
                {
                    fu="+";
                    shizi=a+" "+fu+" "+b;
                    re=a+b;
                    re1=String.valueOf(re);
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    shizi=a+" "+fu+" "+b;
                    re=a-b;
                    re1=String.valueOf(re);
                }
                if(c==2)
                {
                    fu="×";
                    shizi=a+" "+fu+" "+b;
                    re=a*b;
                    re1=String.valueOf(re);
                }
                if(c==3)
                {
                    fu="÷";
                    //排除分母为0的可能性和余数的可能性
                    while(b==0||a%b!=0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }    
                    re=a/b;
                    shizi=a+" "+fu+" "+b;
                    re1=String.valueOf(re);
                }
            }
            
            
            //1乘除法 2除法无余数****1
            if(fun==1)
            {
                if(c==0)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    shizi=a+" "+fu+" "+b;
                    re=a-b;
                    re1=String.valueOf(re);
                }
                if(c==2)
                {
                    fu="×";
                    re=a*b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==3)
                {
                    fu="÷";
                    //排除分母为0的可能性
                    while(b==0)
                    {
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }    
                    re=a/b;
                    if(a%b!=0)
                    {
                        int flag1=a%b;
                        re1=String.valueOf(re)+"..."+String.valueOf(flag1);
                    }
                    else
                        re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
            }
            
            //1乘除法 2除法无余数****0
            if(fun==0)
            {
                if(c==0)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    re=a-b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==2)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==3)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    re=a-b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
            }
                return shizi;
        }
        //***************生成整数公式的函数**********************
        String sgongshi(int r,int q)
        {
            String shi,shizi="";
            int a=(int)(Math.random()*(r)%(r-q+1)+q);
            int e=(int)(Math.random()*4);
            shi=function(r,q,12);
            if(e==0)
            {
                int f=(int)(Math.random()*4);
                if(f==1||f==0)
                {
                    shizi=a+" + "+"( "+shi+" )";
                    resan=a+re;
                }
                if(f==2||f==3)
                {
                    shizi="( "+shi+" )"+" + "+a;
                    resan=a+re;
                }
            }
            if(e==1)
            {
                int f=(int)(Math.random()*4);
                if(f==1||f==0)
                {
                    while(a-re<0)
                    {
                        shi=function(r,q,12);
                    }
                    shizi=a+" - "+"( "+shi+" )";
                    resan=a-re;
                }
                if(f==2||f==3)
                {
                    while(a-re>0)
                    {
                        shi=function(r,q,12);
                    }
                    shizi="( "+shi+" )"+" - "+a;
                    resan=re-a;
                }
            }
            if(e==2)
            {
                int f=(int)(Math.random()*4);
                if(f==1||f==0)
                {
                    shizi=a+" × "+"( "+shi+" )";
                    resan=a*re;
                }
                if(f==2||f==3)
                {
                    shizi="( "+shi+" )"+" × "+a;
                    resan=a*re;
                }
            }
            if(e==3)
            {
                int f=(int)(Math.random()*4);
                if(f==1||f==0)
                {
                    while(re==0)
                    {
                        shi=function(r,q,12);    
                    }
                    while(a%re!=0)
                    {
                        shi=function(r,q,12);
                        while(re==0)
                        {
                            shi=function(r,q,12);
                        }
                    }
                    shizi=a+" ÷ "+"( "+shi+" )";
                    resan=a/re;
                }
                if(f==2||f==3)
                {
                    while(a==0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    while(re%a!=0)
                    {
                        shi=function(r,q,12);
                    }
                    shizi="( "+shi+" )"+" ÷ "+a;
                    resan=re/a;
                }
            }
            return shizi;
        }
        //*****生成三个数的式子的函数******
        }
    %>
              
      <%
        
        Connection con = null; //定义一个MYSQL链接对象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); //链接本地MYSQL
        java.sql.Statement stmt; //创建声明
        stmt = con.createStatement();
        int kuohaomax=Integer.parseInt(String.valueOf(session.getAttribute("kuohaomax")));
        int kuohaomin=Integer.parseInt(String.valueOf(session.getAttribute("kuohaomin")));
        int kuohaogeshu=Integer.parseInt(String.valueOf(session.getAttribute("kuohaogeshu")));
        session.setAttribute("kuohaogeshu1", kuohaogeshu);
        //String daan=request.getParameter("daan");
    
        int zhengque1=0,cuowu1=0;
        int zhengque4[]=new int[kuohaogeshu+10];
        int cuowu4[]=new int[kuohaogeshu+10];
        daikuohao a = new daikuohao();
        //for(int i=0;i<geshu;i++)
        %>
              
              
          <% 
        if(kuohaoi<kuohaogeshu)
        {
            kuohaoArray[kuohaoi]=a.sgongshi(kuohaomax,kuohaomin);
            if(kuohaoi>0)
            {
                for(int z=0;z<kuohaoi;z++)
                {
                    if((kuohaoArray[z].equals(kuohaoArray[kuohaoi])))
                    {
                        kuohaoArray[kuohaoi]=a.sgongshi(kuohaomax,kuohaomin);
                        z=-1;
                    }    
                }
            }
            out.println(kuohaoi+1+": "+kuohaoArray[kuohaoi]+" = "); 
             
            %>
              <% //将题目和答案写入数据库表
            String sql="INSERT INTO 四则运算题目3 (shizi,result) VALUES ('"+kuohaoArray[kuohaoi]+" = "+"','"+a.resan+"')";
            
            //out.println("<script language = 'javaScript'> alert('"+shi+"');</script>");
            stmt.executeUpdate(sql);
            
            %>
              <br>
              
    </div>
            <form id="form1" name="form1" method="post" action="kuohaosjk.jsp">
              <div align="center">
                <p>&nbsp;</p>
                <p>答案:
              <input type="text" name="daan" id="daan" />
            <% 
            String shi3=kuohaoArray[kuohaoi]+" = ";
            session.setAttribute("shi",shi3);
            int rere3=a.resan;
            session.setAttribute("rere",rere3);
            //String daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3);
            session.setAttribute("i2",kuohaoi);
            
            kuohaoi++;
            stmt.close();
            con.close();
            %>
            <input type="submit" value="下一个" >
                </p>
              </div>
            </form>
            
            <div align="center">
              <%
            //String daan3=request.getParameter("daan");
    
            //daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3); 
            
            %>
              
              <%
        }
        else
        {
            kuohaoi=0;
            %>
    </div>
    <form action="kuohaochakan.jsp" method="post" >
            <div align="center">
              <%
            String correct=String.valueOf(session.getAttribute("correct1"));
            String wrong=String.valueOf(session.getAttribute("wrong1"));
            %>
              <input type="submit" value="查看成绩" name="button" align="middle">
      </div>
    </form>
            <div align="center">
              <%
        }
        %>
              
              
    </div>
    </body>
    </html>

    fenchakan.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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <%
        String fencorrect=String.valueOf(session.getAttribute("fencorrect1"));
        String fenwrong=String.valueOf(session.getAttribute("fenwrong1"));
        out.print("正确的题号:"+fencorrect+"      错误的题号:"+fenwrong);
        out.println("<script language = 'javaScript'> alert('点击确定返回开始页面!');</script>");
        response.setHeader("refresh","0;url = choose.jsp");
    %>
    
    </body>
    </html>

    fenchuanzhi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.util.regex.Pattern, java.util.regex.Matcher"%>
    <!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=ISO-8859-1">
    <title>传值</title>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <% 
    
    
    String fenmax = request.getParameter("fenmax");
    session.setAttribute("fenmax",fenmax);
    String fenchoose = request.getParameter("fenchoose");
    session.setAttribute("fenchoose",fenchoose);
    String fengeshu = request.getParameter("fengeshu");
    session.setAttribute("fengeshu",fengeshu);
    
    Pattern pattern = Pattern.compile("[0-9]*"); 
    Pattern pattern1 = Pattern.compile("[1-2]"); 
    Matcher isNum = pattern.matcher(fenmax);
    Matcher isNum3 = pattern.matcher(fengeshu);
    Matcher isNum4 = pattern1.matcher(fenchoose);
    if( (!isNum.matches())||(!isNum3.matches())||(!isNum4.matches()))
    {
        out.println("<script language = 'javaScript'> alert('输入错误,点击确定重新输入!!!');</script>");
        response.setHeader("refresh","0;url = zhenfenshu.jsp");
    } 
    else
    {
        response.setHeader("refresh","0;url = zhenfenshushizi.jsp");
    }
    %>
    </body>
    </html>

    kuohaochuanzhi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.util.regex.Pattern, java.util.regex.Matcher"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <% 
    
    
    String kuohaomax = request.getParameter("kuohaomax");
    session.setAttribute("kuohaomax",kuohaomax);
    String kuohaomin = request.getParameter("kuohaomin");
    session.setAttribute("kuohaomin",kuohaomin);
    String kuohaogeshu = request.getParameter("kuohaogeshu");
    session.setAttribute("kuohaogeshu",kuohaogeshu);
    
    Pattern pattern = Pattern.compile("[0-9]*");  
    Matcher isNum = pattern.matcher(kuohaomax);
    Matcher isNum2 = pattern.matcher(kuohaomin);
    Matcher isNum3 = pattern.matcher(kuohaogeshu);
    if( (!isNum.matches())||(!isNum3.matches())||(!isNum2.matches())||kuohaomax.equals("")||kuohaomin.equals("")||kuohaogeshu.equals(""))
    {
        out.println("<script language = 'javaScript'> alert('输入错误,点击确定重新输入!!!');</script>");
        response.setHeader("refresh","0;url = daikuohao.jsp");
    } 
    else
    {
        response.setHeader("refresh","0;url = daikuohaoshizi.jsp");
    }
    %>
    </body>
    </html>

    kuohao.sjk.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"  import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    <%! String kuohaocorrect="",kuohaowrong="";%>
        <%     
            
            String daan3=request.getParameter("daan");
            String shi5=String.valueOf(session.getAttribute("shi"));
            int geshu5=Integer.parseInt(String.valueOf(session.getAttribute("kuohaogeshu1")));
            int i5=Integer.parseInt(String.valueOf(session.getAttribute("i2")));
            int i6=i5+1;
            String rere5=String.valueOf(session.getAttribute("rere"));
            if(rere5.equals(daan3))
            {
                        //out.println("恭喜你,回答正确!!!");
                        kuohaocorrect=kuohaocorrect+i6+"  ";
                out.println("<script language = 'javaScript'> alert('恭喜你,回答正确!!!');</script>");
                response.setHeader("refresh","0;url = daikuohaoshizi.jsp");
            }
            else
            {
                        //out.println("回答错误!正确答案为:"+result);
                        kuohaowrong=kuohaowrong+i6+"  ";
                out.println("<script language = 'javaScript'> alert('回答错误!!!正确答案:"+rere5+"');</script>");
                response.setHeader("refresh","0;url = daikuohaoshizi.jsp");
            }
            String kuohaocorrect2=kuohaocorrect;
            String kuohaowrong2=kuohaowrong;
            if(i5==geshu5-1)
            {
                kuohaocorrect="";kuohaowrong="";
            }
            session.setAttribute("kuohaocorrect1",kuohaocorrect2);
            session.setAttribute("kuohaowrong1",kuohaowrong2);
            %>
    </body>
    </html>

    zhenfenshu.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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="fenchuanzhi.jsp">
      <p>
        <label for="textfield"></label>
      </p>
      <p>&nbsp;</p>
      <p align="right">&nbsp;</p>
      <p align="left">&nbsp;</p>
      <p align="center">&nbsp;</p>
      <p align="center"> 分子分母的 最大值:
        <input type="text" name="fenmax" id="fenmax" />
        <br>
        题目个数:<input type="text" name="fengeshu" id="fengeshu" />
        <br>
        选项:1有乘除法  2无乘除法
      <br>
        选项:            
        <input type="text" name="fenchoose" id="fenchoose" />
      </p>
      <div align="center">
    <input type="submit" value="确定" value="fenchuanzhi.jsp">
    </div>
    </form>
    </body>
    </html>

    zhenfenshushizi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
      <div align="center">
          <%!
        int feni=0;
        String fenArray[]=new String[1000];
        
        class zhenfenshu
        {
         String refenshu;
         
        //****最大公约****
            double getGcd(double m,double n){
                    while(n > 0){
                        double temp = m % n;
                        m = n;
                        n = temp;
                    }
                    return m;
                }
            //****最大公约****
            
             //***最小公倍数***
            double getLcm(double m,double n){
                 double gcd = getGcd(m,n);
                 double result = m*n / gcd;
                    return result;
                }
             //***最小公倍数***
         String fun(int r ,int fun)
        {
            //1有乘除法2没有乘除法
            String fu ="";
            String shizi="";
            int a=(int)(Math.random()*(r+1));
            int b=(int)(Math.random()*(r+1));
            int c=(int)(Math.random()*(r+1));
            int d=(int)(Math.random()*(r+1));
            int e=(int)(Math.random()*4);
            
            //1有乘除法****1
            if(fun==1)
            {
            if(e==0)
            {
                fu="+";
                while(a>=b||c>=d||b==0||d==0)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                }
                //约分
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a+c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else if(a>gongbei)
                {
                    int s=a%gongbei;
                    refenshu=1+""+s+"/"+gongbei;
                }
                else
                refenshu=a+"/"+gongbei;
                
            }
            if(e==1)
            {
                fu="-";
                double y=getLcm(b,d);
                double a1=y/b;
                double c1=y/d;
                double a2=a*a1;
                double c2=c*c1;
                while(a>=b||c>=d||b==0||d==0||a2<c2)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                      y=getLcm(b,d);
                         a1=y/b;
                         c1=y/d;
                         a2=a*a1;
                         c2=c*c1;
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a-c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else
                refenshu=a+"/"+gongbei;
            }
            if(e==2)
            {
                fu="×";
                while(a>=b||c>=d||b==0||d==0)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                a=a*c;
                b=b*d;
                int flag1=(int) getGcd(a,b);
                a=a/flag1;b=b/flag1;
                if(a==0)
                    refenshu="0";
                else
                    refenshu=a+"/"+b;
            }
            if(e==3)
            {
                fu="÷";
                while(a>=b||c>=d||b==0||d==0||c==0)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                a=a*d;
                b=b*c;
                int flag1=(int) getGcd(a,b);
                a=a/flag1;b=b/flag1;
                if(a==0)
                    refenshu="0";
                else if(a==b)
                    refenshu="1";
                else if(b==1)
                    refenshu=a+"";
                else if(a>b)
                {
                    int s=a%b;
                    int s1=a/b;
                    refenshu=s1+""+s+"/"+b;
                }
                else
                    refenshu=a+"/"+b;
            }
            }
            
            //2没有有乘除法***2
            if(fun==2)
            {
            if(e==0)
            {
                fu="+";
                while(a>=b||c>=d||b==0||d==0)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a+c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else if(a>gongbei)
                {
                    int s=a%gongbei;
                    refenshu=1+""+s+"/"+gongbei;
                }
                else
                refenshu=a+"/"+gongbei;
            }
            if(e==1)
            {
                fu="-";
                double y=getLcm(b,d);
                double a1=y/b;
                double c1=y/d;
                double a2=a*a1;
                double c2=c*c1;
                while(a>=b||c>=d||b==0||d==0||a2<c2)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                      y=getLcm(b,d);
                         a1=y/b;
                         c1=y/d;
                         a2=a*a1;
                         c2=c*c1;
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a-c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else
                refenshu=a+"/"+gongbei;
            }
            if(e==2)
            {
                fu="+";
                while(a>=b||c>=d||b==0||d==0)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a+c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else if(a>gongbei)
                {
                    int s=a%gongbei;
                    refenshu=1+""+s+"/"+gongbei;
                }
                else
                refenshu=a+"/"+gongbei;
            }
            if(e==3)
            {
                fu="-";
                double y=getLcm(b,d);
                double a1=y/b;
                double c1=y/d;
                double a2=a*a1;
                double c2=c*c1;
                while(a>=b||c>=d||b==0||d==0||a2<c2)
                {
                     a=(int)(Math.random()*(r+1));
                     b=(int)(Math.random()*(r+1));
                     c=(int)(Math.random()*(r+1));
                     d=(int)(Math.random()*(r+1));
                      y=getLcm(b,d);
                         a1=y/b;
                         c1=y/d;
                         a2=a*a1;
                         c2=c*c1;
                }
                int aa=(int) getGcd(a,b);
                int cc=(int) getGcd(c,d);
                a=a/aa; b=b/aa;
                c=c/cc; d=d/cc;
                shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
                int gongbei=(int) getLcm(b,d);
                a=a*(gongbei/b);
                c=c*(gongbei/d);
                a=a-c;
                int t=(int) getGcd(a,gongbei);
                a=a/t;
                gongbei=gongbei/t;
                if(a==gongbei)
                    refenshu="1";
                else if(a==0)
                    refenshu="0";
                else
                refenshu=a+"/"+gongbei;
            }
            }
            return shizi;
        }
        }
    %>
      <%
        
        Connection con = null; //定义一个MYSQL链接对象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); //链接本地MYSQL
        java.sql.Statement stmt; //创建声明
        stmt = con.createStatement();
        int fenmax=Integer.parseInt(String.valueOf(session.getAttribute("fenmax")));
        int fenchoose=Integer.parseInt(String.valueOf(session.getAttribute("fenchoose")));
        int fengeshu=Integer.parseInt(String.valueOf(session.getAttribute("fengeshu")));
        session.setAttribute("fengeshu1", fengeshu);
        //String daan=request.getParameter("daan");
    
        int zhengque1=0,cuowu1=0;
        int zhengque4[]=new int[fengeshu+10];
        int cuowu4[]=new int[fengeshu+10];
        zhenfenshu a = new zhenfenshu();
        //for(int i=0;i<geshu;i++)
        %>
              
              
            <% 
        if(feni<fengeshu)
        {
            fenArray[feni]=a.fun(fenmax,fenchoose);
            if(feni>0)
            {
                for(int z=0;z<feni;z++)
                {
                    if((fenArray[z].equals(fenArray[feni])))
                    {
                        fenArray[feni]=a.fun(fenmax,fenchoose);
                        z=-1;
                    }    
                }
            }
            out.println(feni+1+": "+fenArray[feni]+" = "); 
             
            %>
              <% //将题目和答案写入数据库表
            String sql="INSERT INTO 四则运算题目1 (shizi,result) VALUES ('"+fenArray[feni]+" = "+"','"+a.refenshu+"')";
            
            //out.println("<script language = 'javaScript'> alert('"+shi+"');</script>");
            stmt.executeUpdate(sql);
            
            %>
              <br>
              
    </div>
            <form id="form1" name="form1" method="post" action="zhenfenshusjk.jsp">
              <p>&nbsp;</p>
              <p align="center">答案:
              <input type="text" name="daan" id="daan" />
            <% 
            String shi3=fenArray[feni]+" = ";
            session.setAttribute("shi",shi3);
            String rere3=a.refenshu;
            session.setAttribute("rere",rere3);
            //String daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3);
            session.setAttribute("i2",feni);
            
            feni++;
            stmt.close();
            con.close();
            %>
            <input type="submit" value="下一个" >
              </p>
            </form>
            
            <div align="center">
              <%
            //String daan3=request.getParameter("daan");
    
            //daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3); 
            
            %>
              
              <%
        }
        else
        {
            feni=0;
            %>
    </div>
            <form action="fenchakan.jsp" method="post" >
              <div align="center">
                <%
            String correct=String.valueOf(session.getAttribute("correct1"));
            String wrong=String.valueOf(session.getAttribute("wrong1"));
            %>
                <input type="submit" value="查看成绩" name="button" align="middle">
              </div>
            </form>
            <div align="center">
              <%
        }
        %>
              
              
    </div>
    </body>
    </html>

    zhenfenshusjk.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"  import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    <%! String fencorrect="",fenwrong="";%>
        <%     
            
            String daan3=request.getParameter("daan");
            String shi5=String.valueOf(session.getAttribute("shi"));
            int geshu5=Integer.parseInt(String.valueOf(session.getAttribute("fengeshu1")));
            int i5=Integer.parseInt(String.valueOf(session.getAttribute("i2")));
            int i6=i5+1;
            String rere5=String.valueOf(session.getAttribute("rere"));
            if(rere5.equals(daan3))
            {
                        //out.println("恭喜你,回答正确!!!");
                        fencorrect=fencorrect+i6+"  ";
                out.println("<script language = 'javaScript'> alert('恭喜你,回答正确!!!');</script>");
                response.setHeader("refresh","0;url = zhenfenshushizi.jsp");
            }
            else
            {
                        //out.println("回答错误!正确答案为:"+result);
                        fenwrong=fenwrong+i6+"  ";
                out.println("<script language = 'javaScript'> alert('回答错误!!!正确答案:"+rere5+"');</script>");
                response.setHeader("refresh","0;url = zhenfenshushizi.jsp");
            }
            String fencorrect2=fencorrect;
            String fenwrong2=fenwrong;
            if(i5==geshu5-1)
            {
                fencorrect="";fenwrong="";
            }
            session.setAttribute("fencorrect1",fencorrect2);
            session.setAttribute("fenwrong1",fenwrong2);
            %>
    </body>
    </html>

    zhengshu.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.sql.Connection,java.sql.DriverManager"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="chuanzhi.jsp">
      <p>
        <label for="textfield"></label>
      </p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p align="center"><br>
        最小值:<input type="text" name="min" id="min" />
        <br>
        
        最大值:<input type="text" name="max" id="max" />
        <br>
        题目个数:<input type="text" name="geshu" id="geshu" />
        <br>
        选项:1有乘除法且除法无余数  2有乘除法余数不定 3无乘除法
      <br>
        选项:            <input type="text" name="choose" id="choose" />
      </p>
       <div align="center">
    <input type="submit" value="确定" value="chuanzhi.jsp">
    </div>
    </form>
    </body>
    </html>

    zhengshushizi.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8" import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <div align="center">
      <%!
        int i=0;
        String Array[]=new String[1000];
        class Zhengshu
        {
        String re1="";
        int re;
        String function(int r ,int q, int fun)
        {
            //1有乘除法 2加减无负数 3除法无余数(12,1,0)
            String fu ="";
            String shizi="";
            int a=(int)(Math.random()*(r)%(r-q+1)+q);
            int b=(int)(Math.random()*(r)%(r-q+1)+q);
            int c=(int)(Math.random()*4);
            
            //1有乘除法
            if(fun==1)
            {
                if(c==0)
                {
                    fu="+";
                    shizi=a+" "+fu+" "+b;
                    re=a+b;
                    re1=String.valueOf(re);
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    shizi=a+" "+fu+" "+b;
                    re=a-b;
                    re1=String.valueOf(re);
                }
                if(c==2)
                {
                    fu="×";
                    shizi=a+" "+fu+" "+b;
                    re=a*b;
                    re1=String.valueOf(re);
                }
                if(c==3)
                {
                    fu="÷";
                    //排除分母为0的可能性和余数的可能性
                    while(b==0||a%b!=0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }    
                    re=a/b;
                    shizi=a+" "+fu+" "+b;
                    re1=String.valueOf(re);
                }
            }
            
            
            //2有乘除法余数不定
            if(fun==2)
            {
                if(c==0)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    shizi=a+" "+fu+" "+b;
                    re=a-b;
                    re1=String.valueOf(re);
                }
                if(c==2)
                {
                    fu="×";
                    re=a*b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==3)
                {
                    fu="÷";
                    //排除分母为0的可能性
                    while(b==0)
                    {
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }    
                    re=a/b;
                    if(a%b!=0)
                    {
                        int flag1=a%b;
                        re1=String.valueOf(re)+"..."+String.valueOf(flag1);
                    }
                    else
                        re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
            }
            
            //3无乘除法
            if(fun==3)
            {
                if(c==0)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==1)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    re=a-b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==2)
                {
                    fu="+";
                    re=a+b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
                if(c==3)
                {
                    fu="-";
                    //排除负数可能性
                    while(a-b<0)
                    {
                        a=(int)(Math.random()*(r)%(r-q+1)+q);
                        b=(int)(Math.random()*(r)%(r-q+1)+q);
                    }
                    re=a-b;
                    re1=String.valueOf(re);
                    shizi=a+" "+fu+" "+b;
                }
            }
                return shizi;
        }
        }
    %>
      <%
        
        Connection con = null; //定义一个MYSQL链接对象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); //链接本地MYSQL
        java.sql.Statement stmt; //创建声明
        stmt = con.createStatement();
        int max=Integer.parseInt(String.valueOf(session.getAttribute("max")));
        int min=Integer.parseInt(String.valueOf(session.getAttribute("min")));
        int choose=Integer.parseInt(String.valueOf(session.getAttribute("choose")));
        int geshu=Integer.parseInt(String.valueOf(session.getAttribute("geshu")));
        session.setAttribute("geshu1", geshu);
        //String daan=request.getParameter("daan");
    
        int zhengque1=0,cuowu1=0;
        int zhengque4[]=new int[geshu+10];
        int cuowu4[]=new int[geshu+10];
        Zhengshu a = new Zhengshu();
        //for(int i=0;i<geshu;i++)
        %>
              
              
          <% 
        if(i<geshu)
        {
            Array[i]=a.function(max,min,choose);
            if(i>0)
            {
                for(int z=0;z<i;z++)
                {
                    if((Array[z].equals(Array[i])))
                    {
                        Array[i]=a.function(max,min,choose);
                        z=-1;
                    }    
                }
            }
            out.println(i+1+": "+Array[i]+" = "); 
             
            %>
              <% //将题目和答案写入数据库表
            String sql="INSERT INTO 四则运算题目2 (shizi,result) VALUES ('"+Array[i]+" = "+"','"+a.re1+"')";
            
            //out.println("<script language = 'javaScript'> alert('"+shi+"');</script>");
            stmt.executeUpdate(sql);
            
            %>
              <br>
              
    </div>
            <form id="form1" name="form1" method="post" action="zhengshusjk.jsp">
              <p>&nbsp;</p>
              <p align="center">答案:
              <input type="text" name="daan" id="daan" />
            <% 
            String shi3=Array[i]+" = ";
            session.setAttribute("shi",shi3);
            String rere3=a.re1;
            session.setAttribute("rere",rere3);
            //String daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3);
            session.setAttribute("i2",i);
            
            i++;
            stmt.close();
            con.close();
            %>
            <input type="submit" value="下一个" >
              </p>
            </form>
            
            <div align="center">
              <%
            //String daan3=request.getParameter("daan");
    
            //daan3=request.getParameter("daan");
            //session.setAttribute("daan",daan3); 
            
            %>
              
              <%
        }
        else
        {
            i=0;
            %>
    </div>
            <form action="chakan.jsp" method="post" >
              <div align="center">
                <%
            String correct=String.valueOf(session.getAttribute("correct1"));
            String wrong=String.valueOf(session.getAttribute("wrong1"));
            %>
                <input type="submit" value="查看成绩" name="button" align="middle">
              </div>
            </form>
            <div align="center">
              <%
        }
        %>
              
              
    </div>
    </body>
    </html>

    zhengshusjk.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"  import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
    <!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>
    <style type="text/css">
    body,td,th {
        font-size: 24px;
    }
    body {
        background-color: #0CF;
        background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <%! String correct="",wrong="";%>
        <%     
            
            String daan3=request.getParameter("daan");
            String shi5=String.valueOf(session.getAttribute("shi"));
            int geshu5=Integer.parseInt(String.valueOf(session.getAttribute("geshu1")));
            int i5=Integer.parseInt(String.valueOf(session.getAttribute("i2")));
            int i6=i5+1;
            String rere5=String.valueOf(session.getAttribute("rere"));
            if(rere5.equals(daan3))
            {
                        //out.println("恭喜你,回答正确!!!");
                        correct=correct+i6+"  ";
                out.println("<script language = 'javaScript'> alert('恭喜你,回答正确!!!');</script>");
                response.setHeader("refresh","0;url = zhengshushizi.jsp");
            }
            else
            {
                        //out.println("回答错误!正确答案为:"+result);
                        wrong=wrong+i6+"  ";
                out.println("<script language = 'javaScript'> alert('回答错误!!!正确答案:"+rere5+"');</script>");
                response.setHeader("refresh","0;url = zhengshushizi.jsp");
            }
            String correct2=correct;
            String wrong2=wrong;
            if(i5==geshu5-1)
            {
                correct="";wrong="";
            }
            session.setAttribute("correct1",correct2);
            session.setAttribute("wrong1",wrong2);
            %>
    </body>
    </html>

    kuohaochakan.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>
    <style type="text/css">
    body,td,th {
    font-size: 24px;
    }
    body {
    background-color: #0CF;
    background-image: url(b.jpg);
    }
    </style>
    </head>
    <body>
    <%
    String kuohaocorrect=String.valueOf(session.getAttribute("kuohaocorrect1"));
    String kuohaowrong=String.valueOf(session.getAttribute("kuohaowrong1"));
    out.print("正确的题号:"+kuohaocorrect+"      错误的题号:"+kuohaowrong);
    out.println("<script language = 'javaScript'> alert('点击确定返回开始页面!');</script>");
    response.setHeader("refresh","0;url = choose.jsp");
    %>

    </body>

    </html>

  • 相关阅读:
    C# 遍历Hashtable
    asp.net 处理超链接中文参数编码问题
    electronvue开发问题总结
    vue全局使用样式文件vueclipluginstyleresourcesloader
    win10使用VMware安装macOS11.1镜像系统教程
    LVM从CentOS7默认安装的/home中转移空间到根目录/(转载)
    Nginx引用多配置文件
    ssh_exchange_identification: read: Connection reset by peer
    linux修改时区
    修改键盘Tab键为四个空格
  • 原文地址:https://www.cnblogs.com/zhouzh/p/6679911.html
Copyright © 2011-2022 走看看