zoukankan      html  css  js  c++  java
  • 结队编程—四则运算(郑亮亮、田会)

          四则运算完整网页版,链接数据库的所有程序。

          功能如下:

          1.可以进行基础的四则运算

          2.可以定制题目的数量和出题的范围,比如控制计算在10以内的四则运算

          3.减法没有负数,使用if条件功能控制

          4.除法当除不尽时用真分数或带分数表示

          5.可以实现真分数的计算

          6.可以实现括号的计算

          7.可以实现有余数的计算

          8.可以在线做题,判断正确与错误

          9.可以链接数据库,实现不重复出题

          10.将题目和答案以及用户输入的答案写进数据。

    就是将上一次在eclipse中编好的类直接调用,在网页中使用。

    代码如下:

    主界面的代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>主界面</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/17.jpg);
    }
    </style>
    </head>
    <body>
    <div style="text-align: center; font-family: 微软雅黑; font-size: 50px; color: #C03; "><strong><em>四则运算</em></strong></div>
    <div style="text-align: center; font-family: 微软雅黑; font-size: 15px; color: #C03; "><strong><em>Welcome To User The System</em></strong></div>
    <br/>
    <div style="text-align: center; font-family: 微软雅黑; font-size: 20px;color: #C03;"><strong><em>请选择出题的范围</em></strong></div><br />
    <form  name="form1" method="post" action="panduan.jsp">
    <blockquote>
      <blockquote>
        <blockquote>
          <blockquote>
            <blockquote>
              <blockquote>
                <blockquote>
                 <blockquote>
                  <blockquote>
                   <blockquote>
                   <div style="color: #C03">
                  <p> <strong>A:整数的四则计算<br />
                    B:真分数的四则计算<br />
                    C:整数与真分数的混合四则运算<br />
                    D:有余数的除法<br />
                    E:有括号的四则运算<br />
                    </strong>
                  </p>
                  </div>
                  </blockquote>
                  </blockquote>
                  </blockquote>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
    <div style="text-align: center;color: #C03 ">
    <strong>请选择:</strong><input name="xuanze" type="text"/>
    <input name="" type="submit" value="提交"  />
    <input name="" type="reset" value="重置" />
    </div>
    </form>
    </body>
    </html>

    判断界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <%
     String panduan=request.getParameter("xuanze");
    if(panduan.equals("A"))
    {
        %>
        <form id="form2" name="form2" method="post" action="chaundi.jsp">
        <div style="text-align:center;color:#F09">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
        请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
        <%
    }
    else if(panduan.equals("B"))
    {
        %>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <form id="form3" name="form4" method="post" action="fenchuandi.jsp">
        <div style="text-align:center;color:#F09">
        请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
        请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
        <%
    }
    else if(panduan.equals("C"))
    {
        %>
        <form id="form2" name="form2" method="post" action="fenzhengchuangdi.jsp">
        <div style="text-align:center;color:#F09">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
        请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
        <%
    }
    else if(panduan.equals("D"))
    {
         %>
         <form id="form2" name="form2" method="post" action="yushuchuangdi.jsp">
        <div style="text-align:center;color:#F09">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
        请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
        <%
    }
    else if(panduan.equals("E"))
    {
        %>
        <form id="form2" name="form2" method="post" action="kuohaochuangdi.jsp">
        <div style="text-align:center;color:#F09">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
        请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
        <% 
    }
    else
    {
        %>
        <script type="text/javascript">
        alert("输入错误,请点击确定重新输入!!!");
        </script>
        <% 
        response.setHeader("refresh","0;url = xuanze.html");
    }
        %>
    </body>
    </html>

    整数界面:

    error界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="chaundi.jsp">
    <div style="text-align:center;color:#F09">
    <br>
        <br>
        <br>
        <br>
        <br>
        <br>
    请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
    请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
    <input name="" type="submit" value="提交" />
    </div>
    </form>
    </body>
    </html>

    传递参数界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/19.jpg);
    }
    </style>
    </head>
    <body>
    <%
    try
    {
        int tishu=Integer.parseInt(request.getParameter("geshu"));
        int fanwei=Integer.parseInt(request.getParameter("fanwei"));
        session.setAttribute("tishu", tishu);
        session.setAttribute("fanwei", fanwei);
        response.setHeader("refresh","0;url = zhengshu.jsp");
    }
    catch(Exception e)
    {
        %>
        <script type="text/javascript">
        alert("输入错误,点击确定返回重新输入!!!")
        </script>
        <%
        response.setHeader("refresh","0;url = error.jsp");
    }
    %>
    </body>
    </html>

    显示的界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.Random" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/4.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    class Suan1//生成整数计算的类
    {
        public int x,y,c;//定义两个变量,还有一个符号变量
        public Random random=new Random();//定义随机数
        String m;//生成的计算式储存咋m里面
        int fanwei;
        public String shengcheng(int fanwei1)//自动生成数的函数
        {
             fanwei=fanwei1;
             c=random.nextInt(4);//生成符号
             String fuhao;
             x=random.nextInt(fanwei);//生成100以内的自然数
             y=random.nextInt(fanwei);
             if(c==0)//0是加法
             {
                 fuhao="+";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
                 
             }
             else if(c==1)//1是减法
             {
                 fuhao="-";
                 if(x>=y)
                 {
                     m=String.valueOf(x)+fuhao+String.valueOf(y);
                 }
                 else
                 {
                     m=String.valueOf(y)+fuhao+String.valueOf(x);
                 }
             }
             else if(c==2)
             {
                 fuhao="*";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             else
             {
                 fuhao="/";
                 for(int i=0;;i++)
                 {
                     if(y==0)
                     {
                         y=random.nextInt(fanwei);
                     }
                     else
                     {
                         break;
                     }
                 }
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             return m;
             
        }
        public String shuchu()//定义输出函数
        {
            if(c==0)
            {
                return (String.valueOf(x+y));//并且返回计算的结果
            }
            else if(c==1)
            {
                if(x>=y)//将较大的数放在前面,不能出现负数
                {
                return (String.valueOf(x-y));
                }
                else
                {
                return (String.valueOf(y-x));
                }
            }
            else if(c==2)
            {
                return (String.valueOf(x*y));
            }
            else
            {
                if(x%y==0)
                {
                    return (String.valueOf(x/y));
                }
                else
                {
                    if(x>y)
                    {
                    int shang=x/y;
                    int yushu=x-y*shang;
                    return (String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y));
                    }
                    else
                    {
                    return (String.valueOf(x)+"/"+String.valueOf(y));
                    }
                }
            }
        }
        public int fanhuic()
        {
            return c;
        }
        public int jianyan(String a[],int s)//检验是否有重复的式子,如果有返回0,没有就返回1
        {
           int flag=1;
           for(int i=0;i<s;i++)
           {
               if(m.equals(a[i]))//数组a里面是生成的式子
               {
                  flag=0;
                  break;
               }
           }
           return flag;
        }
    }
    int tishu;
    int fanwei;
    int m=0;
    String shuju[]=new String[10000]; 
    int flag=0;
    Suan1 a=new Suan1();
    String daan,daan1;
    String zhengque="",cuowu="";
    %>
    <%
    tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei"))));
    session.setAttribute("tishu", tishu);
    if(m<tishu)//生成30个计算式
    {
        shuju[m]=a.shengcheng(fanwei);//将生成的计算式储存咋数组里面
        flag=a.jianyan(shuju, m);//返回是否有重复
        if(flag==1)//如果没有就是1
        {
        if(m+1==tishu)
        {daan=a.shuchu();
        session.setAttribute("shuju", shuju[m]);
        session.setAttribute("daan", daan);
        session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="huoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");
        m=0;%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
            <%
        }
        else
        {
            daan=a.shuchu();
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="huoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="下一个" />
        </div>
        </form>
            <%
            m++;
            flag=0;
        }
        
        }
        else
        {
            response.setHeader("refresh","1;url = zhengshu.jsp");
        }
    }
    %>
    
    
    </body>
    </html>

    写入数据库的界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/18.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    int tishu1;
    String error="",zhengque=""; 
    %>
    <%
    try
    {
    Connection con = null; //定义一个MYSQL链接对象
    Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "20153246"); //链接本地MYSQL
    java.sql.Statement stmt; //创建声明
    stmt = con.createStatement();
    String shuju=String.valueOf(session.getAttribute("shuju"));
    String daan=String.valueOf(session.getAttribute("daan"));
    int m=Integer.parseInt(String.valueOf(session.getAttribute("m")));
    tishu1=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    String daan1=request.getParameter("daan1");
    String sql="INSERT INTO 真分数的四则计算 (shizi,result,userresult) VALUES ('"+shuju+" = "+"','"+daan+"','"+daan1+"')";
    stmt.executeUpdate(sql);
    if(daan.equals(daan1))
    {
        zhengque=zhengque+String.valueOf(m+1)+",";
    }
    else
    {
        error=error+String.valueOf(m+1)+",";
    }
    if(m+1==tishu1)
    {
        sql="INSERT INTO Grade (zhengque,cuowu) VALUES ('"+zhengque+"','"+error+"')";
        stmt.executeUpdate(sql);             
        
        %>
       <form id="form2" name="form2" method="post" action="xuanze.html">
           <div style="text-align:center;color:#F00">
           <strong>
           <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
           <%
           out.print("正确的题目是:"+zhengque+"<br>"+"错误的题目是:"+error+"<br>"+"点击确定返回主界面"); 
            zhengque="";
        error="";  %>
           <input name="" type="submit" value="确定" />
           </strong>
           </div>
           </form>
           <%
    }
    else
    {
    response.setHeader("refresh","0;url = fenshu.jsp");
    }
    }
    catch (Exception e) 
    {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    } 
    %>
    </body>
    </html>

    真分数的界面:

    error界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="fenchuandi.jsp">
    <div style="text-align:center;color:#F09">
    <br>
        <br>
        <br>
        <br>
        <br>
        <br>
    请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
    请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
    <input name="" type="submit" value="提交" />
    </div>
    </form>
    </body>
    </html>

    传递参数的界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/19.jpg);
    }
    </style>
    </head>
    <body>
    <%
    try
    {
        int tishu=Integer.parseInt(request.getParameter("geshu"));
        int fanwei=Integer.parseInt(request.getParameter("fanwei"));
        session.setAttribute("tishu", tishu);
        session.setAttribute("fanwei", fanwei);
        response.setHeader("refresh","0;url = fenshu.jsp");
    }
    catch(Exception e)
    {
        %>
        
        <script type="text/javascript">
        alert("输入错误,点击确定返回重新输入!!!")
        </script>
        <%
        response.setHeader("refresh","0;url = fenerror.jsp");
    }
    %>
    </body>
    </html>

     显示界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.Random"%>
    <!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>
    <style type="text/css">
    body 
    {
        background-image: url(image/4.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    class Suan2//真分数的运算类
    {
        public int m,n,x,y,c;//定义4个变量,还有一个符号变量
        public Random random=new Random();
        String s;//生成的计算式储存咋m里面
        int fanwei;
        public void shengcheng(int fanwei1)
        {
            fanwei=fanwei1;
            c=random.nextInt(4);
            x=random.nextInt(fanwei);
            y=random.nextInt(fanwei);
            m=random.nextInt(fanwei);
            n=random.nextInt(fanwei);//生成4个随机数在50以内,赋给x,y,m,n
            String fuhao;
            for(int i=0;;i++)
            {
                if(x==0)//不能生成0
                {
                x=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(y==0||y==x)//不能生成0
                {
                y=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(m==0)//不能生成0
                {
                m=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(n==0||m==n)//不能生成0
                {
                n=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            if(c==0)//通整数一样,0是加法,1减法,2乘法,3除法
             {
                 fuhao="+";
             }
             else if(c==1)
             {
                 fuhao="-";
             }
             else if(c==2)
             {
                 fuhao="*";
             }
             else
             {
                 fuhao="/";
             }
            int gongyue=Gongyue(x,y);
            x=x/gongyue;
            y=y/gongyue;
            gongyue=Gongyue(m,n);
            m=m/gongyue;
            n=n/gongyue;
        }
        public String shuchu()//定义输出函数
        {
            if(c==0)
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  +  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  +  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  +  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);//返回计算结果
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  +  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
            else if(c==1)
            {
                double x1=Double.parseDouble(String.valueOf(x));
                double y1=Double.parseDouble(String.valueOf(y));
                double m1=Double.parseDouble(String.valueOf(m));
                double n1=Double.parseDouble(String.valueOf(n));    
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {    
                    if((y1/x1)>(n1/m1))
                    {
                        s=y+"/"+x+"  -  "+n+"/"+m+"=";
                        return jisuan(x,y,m,n,c);//返回计算结果
                    }
                    else
                    {
                        s=n+"/"+m+"  -  "+y+"/"+x+"=";
                        return jisuan(m,n,x,y,c);//返回计算结果
                    }
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    if((y1/x1)>(m1/n1))//减数必须大于被减数
                    {
                        s=y+"/"+x+"  -  "+m+"/"+n+"=";
                        return jisuan(x,y,n,m,c);//返回计算结果
                    }
                    else//减数必须大于被减数
                    {
                        s=m+"/"+n+"  -  "+y+"/"+x+"=";
                        return jisuan(n,m,x,y,c);//返回计算结果
                    }
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    if((x1/y1)>(n1/m1))//减数必须大于被减数
                    {
                        s=x+"/"+y+"  -  "+n+"/"+m+"=";
                        return jisuan(y,x,m,n,c);
                    }
                    else//减数必须大于被减数
                    {
                        s=n+"/"+m+"  -  "+x+"/"+y+"=";
                        return jisuan(m,n,y,x,c);//返回计算结果
                    }
                }
                else
                {
                    if((x1/y1)>(m1/n1))//生成的分母必须大于分子,输出不同的结果//减数必须大于被减数
                    {
                        s=x+"/"+y+"  -  "+m+"/"+n+"=";
                        return jisuan(y,x,n,m,c);//返回计算结果
                    }
                    else//减数必须大于被减数
                    {
                        s=m+"/"+n+"  -  "+x+"/"+y+"=";
                        return jisuan(n,m,y,x,c);//返回计算结果
                    }
                }
            }
            else if(c==2)
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  *  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  *  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  *  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  *  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
            else
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  /  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  /  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  /  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);//返回计算结果
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  /  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
        }
        public String jisuan(int a,int b,int c,int d,int m)//计算结果的函数
        {
            String daan;
            int gongyue,gongbei;
            if(m==0)//加法计算的结果算法
            {
                gongbei=Gongbei(a,c);//求两个分母的最小公倍数
                int s1,s2,s3;
                s1=gongbei/a;
                s2=gongbei/c;
                s3=b*s1+d*s2;
                if(s3==gongbei)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s3,gongbei);
                    int fenzi=s3/gongyue,fenmu=gongbei/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
            else if(m==1)//减法计算的结果算法
            {
                gongbei=Gongbei(a,c);
                int s1,s2,s3;
                s1=gongbei/a;
                s2=gongbei/c;
                s3=b*s1-d*s2;
                if(s3==gongbei)
                {
                    return("1");
                }
                else
                {
                    if(s3==0)
                    {
                        daan=String.valueOf("0");
                        return daan;
                    }
                    else
                    {
                    gongyue=Gongyue(s3,gongbei);
                    int fenzi=s3/gongyue,fenmu=gongbei/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    }
                }
            }
            else if(m==2)//乘法计算的结果算法
            {
                int s1,s2;
                s1=a*c;
                s2=b*d;
                if(s1==s2)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s1,s2);
                    int fenzi=s2/gongyue,fenmu=s1/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
            else//除法计算的结果算法
            {
                int s1,s2;
                s1=a*d;
                s2=b*c;
                if(s1==s2)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s1,s2);
                    int fenzi=s2/gongyue,fenmu=s1/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
        }
        public int Gongbei(int a,int c)//求最小公倍数的函数
        {
            int gongbei;
            if(a>c)
            {
                gongbei=a;//公倍数从大的开始
                while(gongbei<=a*c)
                {
                    if(gongbei%a==0&&gongbei%c==0)
                    {
                        break;
                    }
                    gongbei++;
                }
            }
            else
            {
                gongbei=c;//公倍数从大的开始
                while(gongbei<=a*c)
                {
                    if(gongbei%a==0&&gongbei%c==0)
                    {
                        break;
                    }
                    gongbei++;
                }
            }
            return gongbei;
        }
        public int Gongyue(int gongbei,int s3)//求最大公约数的函数
        {
            int i=1,gongyue=0;
            if(gongbei>s3)//公约数从1到最小的数
            {
                while(i<=s3)
                {
                    if(gongbei%i==0&&s3%i==0)
                    {
                        gongyue=i;
                    }
                    i++;
                }
                return gongyue;
            }
            else
            {
                while(i<=gongbei)
                {
                    if(gongbei%i==0&&s3%i==0)
                    {
                        gongyue=i;
                    }
                    i++;
                }
                return gongyue;
            }
        }
        public int jianyan(String a[],int l)//检验是否生成重复计算式的函数
        {
             int flag=1;
               for(int i=0;i<l;i++)
               {
                   if(s.equals(a[i]))
                   {
                      flag=0;
                      break;
                   }
               }
               return flag;
        }
    }
    Random random=new Random();
    int tishu;
    int fanwei;
    int m=0;
    String shuju[]=new String[10000]; 
    int flag=0;
    Suan2 a=new Suan2();
    String daan,daan1;
    %>
    <%
    tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei"))));
    session.setAttribute("tishu", tishu);
    if(m<tishu)
    {
        a.shengcheng(fanwei);
        String f=a.shuchu();
        shuju[m]=a.s;
        flag=a.jianyan(shuju, m);//返回是否有重复
        if(flag==1)//如果没有就是1
        {
        if(m+1==tishu)
        {daan=a.shuchu();
        session.setAttribute("shuju", shuju[m]);
        session.setAttribute("daan", daan);
        session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="fenshuhuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");
        m=0;%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
            <%
        }
        else
        {
            daan=a.shuchu();
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="fenshuhuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="下一个" />
        </div>
        </form>
            <%
            m++;
            flag=0;
        }
        
        }
        else
        {
            response.setHeader("refresh","0;url = zhengshu.jsp");
        }
    }
    %>
    </body>
    </html>

    写入数据库以及判断界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/18.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    int tishu1;
    String error="",zhengque=""; 
    %>
    <%
    try
    {
    Connection con = null; //定义一个MYSQL链接对象
    Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "20153246"); //链接本地MYSQL
    java.sql.Statement stmt; //创建声明
    stmt = con.createStatement();
    String shuju=String.valueOf(session.getAttribute("shuju"));
    String daan=String.valueOf(session.getAttribute("daan"));
    int m=Integer.parseInt(String.valueOf(session.getAttribute("m")));
    tishu1=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    String daan1=request.getParameter("daan1");
    String sql="INSERT INTO 真分数的四则计算 (shizi,result,userresult) VALUES ('"+shuju+" = "+"','"+daan+"','"+daan1+"')";
    stmt.executeUpdate(sql);
    if(daan.equals(daan1))
    {
        zhengque=zhengque+String.valueOf(m+1)+",";
    }
    else
    {
        error=error+String.valueOf(m+1)+",";
    }
    if(m+1==tishu1)
    {
        sql="INSERT INTO Grade (zhengque,cuowu) VALUES ('"+zhengque+"','"+error+"')";
        stmt.executeUpdate(sql);             
        
        %>
       <form id="form2" name="form2" method="post" action="xuanze.html">
           <div style="text-align:center;color:#F00">
           <strong>
           <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
           <%
           out.print("正确的题目是:"+zhengque+"<br>"+"错误的题目是:"+error+"<br>"+"点击确定返回主界面"); 
            zhengque="";
        error="";  %>
           <input name="" type="submit" value="确定" />
           </strong>
           </div>
           </form>
           <%
    }
    else
    {
    response.setHeader("refresh","0;url = fenshu.jsp");
    }
    }
    catch (Exception e) 
    {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    } 
    %>
    </body>
    </html>

    真分数和整数的混合界面:

    error界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="fenzhengchuangdi.jsp">
    <div style="text-align:center;color:#F09">
    <br>
        <br>
        <br>
        <br>
        <br>
        <br>
    请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
    请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
    <input name="" type="submit" value="提交" />
    </div>
    </form>
    </body>
    </html>

    参数传递界面:

    <%@ 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>
    <%
    try
    {
        int tishu=Integer.parseInt(request.getParameter("geshu"));
        int fanwei=Integer.parseInt(request.getParameter("fanwei"));
        session.setAttribute("tishu", tishu);
        session.setAttribute("fanwei", fanwei);
        response.setHeader("refresh","0;url = fenzheng.jsp");
    }
    catch(Exception e)
    {
        %>
        
        <script type="text/javascript">
        alert("输入错误,点击确定返回重新输入!!!")
        </script>
        <%
        response.setHeader("refresh","0;url = fenzhengerror.jsp");
    }
    %>
    </body>
    </html>

    显示界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.Random"%>
    <!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>
    <style type="text/css">
    body 
    {
        background-image: url(image/4.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    class Suan1//生成整数计算的类
    {
        public int x,y,c;//定义两个变量,还有一个符号变量
        public Random random=new Random();//定义随机数
        String m;//生成的计算式储存咋m里面
        int fanwei;
        public String shengcheng(int fanwei1)//自动生成数的函数
        {
             fanwei=fanwei1;
             c=random.nextInt(4);//生成符号
             String fuhao;
             x=random.nextInt(fanwei);//生成100以内的自然数
             y=random.nextInt(fanwei);
             if(c==0)//0是加法
             {
                 fuhao="+";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
                 
             }
             else if(c==1)//1是减法
             {
                 fuhao="-";
                 if(x>=y)
                 {
                     m=String.valueOf(x)+fuhao+String.valueOf(y);
                 }
                 else
                 {
                     m=String.valueOf(y)+fuhao+String.valueOf(x);
                 }
             }
             else if(c==2)
             {
                 fuhao="*";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             else
             {
                 fuhao="/";
                 for(int i=0;;i++)
                 {
                     if(y==0)
                     {
                         y=random.nextInt(fanwei);
                     }
                     else
                     {
                         break;
                     }
                 }
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             return m;
             
        }
        public String shuchu()//定义输出函数
        {
            if(c==0)
            {
                return (String.valueOf(x+y));//并且返回计算的结果
            }
            else if(c==1)
            {
                if(x>=y)//将较大的数放在前面,不能出现负数
                {
                return (String.valueOf(x-y));
                }
                else
                {
                return (String.valueOf(y-x));
                }
            }
            else if(c==2)
            {
                return (String.valueOf(x*y));
            }
            else
            {
                if(x%y==0)
                {
                    return (String.valueOf(x/y));
                }
                else
                {
                    if(x>y)
                    {
                    int shang=x/y;
                    int yushu=x-y*shang;
                    return (String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y));
                    }
                    else
                    {
                    return (String.valueOf(x)+"/"+String.valueOf(y));
                    }
                }
            }
        }
        public int fanhuic()
        {
            return c;
        }
        public int jianyan(String a[],int s)//检验是否有重复的式子,如果有返回0,没有就返回1
        {
           int flag=1;
           for(int i=0;i<s;i++)
           {
               if(m.equals(a[i]))//数组a里面是生成的式子
               {
                  flag=0;
                  break;
               }
           }
           return flag;
        }
    }
    class Suan2//真分数的运算类
    {
        public int m,n,x,y,c;//定义4个变量,还有一个符号变量
        public Random random=new Random();
        String s;//生成的计算式储存咋m里面
        int fanwei;
        public void shengcheng(int fanwei1)
        {
            fanwei=fanwei1;
            c=random.nextInt(4);
            x=random.nextInt(fanwei);
            y=random.nextInt(fanwei);
            m=random.nextInt(fanwei);
            n=random.nextInt(fanwei);//生成4个随机数在50以内,赋给x,y,m,n
            String fuhao;
            for(int i=0;;i++)
            {
                if(x==0)//不能生成0
                {
                x=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(y==0||y==x)//不能生成0
                {
                y=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(m==0)//不能生成0
                {
                m=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            for(int i=0;;i++)
            {
                if(n==0||m==n)//不能生成0
                {
                n=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            if(c==0)//通整数一样,0是加法,1减法,2乘法,3除法
             {
                 fuhao="+";
             }
             else if(c==1)
             {
                 fuhao="-";
             }
             else if(c==2)
             {
                 fuhao="*";
             }
             else
             {
                 fuhao="/";
             }
            int gongyue=Gongyue(x,y);
            x=x/gongyue;
            y=y/gongyue;
            gongyue=Gongyue(m,n);
            m=m/gongyue;
            n=n/gongyue;
        }
        public String shuchu()//定义输出函数
        {
            if(c==0)
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  +  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  +  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  +  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);//返回计算结果
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  +  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
            else if(c==1)
            {
                double x1=Double.parseDouble(String.valueOf(x));
                double y1=Double.parseDouble(String.valueOf(y));
                double m1=Double.parseDouble(String.valueOf(m));
                double n1=Double.parseDouble(String.valueOf(n));    
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {    
                    if((y1/x1)>(n1/m1))
                    {
                        s=y+"/"+x+"  -  "+n+"/"+m+"=";
                        return jisuan(x,y,m,n,c);//返回计算结果
                    }
                    else
                    {
                        s=n+"/"+m+"  -  "+y+"/"+x+"=";
                        return jisuan(m,n,x,y,c);//返回计算结果
                    }
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    if((y1/x1)>(m1/n1))//减数必须大于被减数
                    {
                        s=y+"/"+x+"  -  "+m+"/"+n+"=";
                        return jisuan(x,y,n,m,c);//返回计算结果
                    }
                    else//减数必须大于被减数
                    {
                        s=m+"/"+n+"  -  "+y+"/"+x+"=";
                        return jisuan(n,m,x,y,c);//返回计算结果
                    }
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    if((x1/y1)>(n1/m1))//减数必须大于被减数
                    {
                        s=x+"/"+y+"  -  "+n+"/"+m+"=";
                        return jisuan(y,x,m,n,c);
                    }
                    else//减数必须大于被减数
                    {
                        s=n+"/"+m+"  -  "+x+"/"+y+"=";
                        return jisuan(m,n,y,x,c);//返回计算结果
                    }
                }
                else
                {
                    if((x1/y1)>(m1/n1))//生成的分母必须大于分子,输出不同的结果//减数必须大于被减数
                    {
                        s=x+"/"+y+"  -  "+m+"/"+n+"=";
                        return jisuan(y,x,n,m,c);//返回计算结果
                    }
                    else//减数必须大于被减数
                    {
                        s=m+"/"+n+"  -  "+x+"/"+y+"=";
                        return jisuan(n,m,y,x,c);//返回计算结果
                    }
                }
            }
            else if(c==2)
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  *  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  *  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  *  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  *  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
            else
            {
                if(x>y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                s=y+"/"+x+"  /  "+n+"/"+m+"=";
                return jisuan(x,y,m,n,c);//返回计算结果
                }
                else if(x>y&&m<n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=y+"/"+x+"  /  "+m+"/"+n+"=";
                    return jisuan(x,y,n,m,c);//返回计算结果
                }
                else if(x<y&&m>n)//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  /  "+n+"/"+m+"=";
                    return jisuan(y,x,m,n,c);//返回计算结果
                }
                else//生成的分母必须大于分子,输出不同的结果
                {
                    s=x+"/"+y+"  /  "+m+"/"+n+"=";
                    return jisuan(y,x,n,m,c);//返回计算结果
                }
            }
        }
        public String jisuan(int a,int b,int c,int d,int m)//计算结果的函数
        {
            String daan;
            int gongyue,gongbei;
            if(m==0)//加法计算的结果算法
            {
                gongbei=Gongbei(a,c);//求两个分母的最小公倍数
                int s1,s2,s3;
                s1=gongbei/a;
                s2=gongbei/c;
                s3=b*s1+d*s2;
                if(s3==gongbei)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s3,gongbei);
                    int fenzi=s3/gongyue,fenmu=gongbei/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
            else if(m==1)//减法计算的结果算法
            {
                gongbei=Gongbei(a,c);
                int s1,s2,s3;
                s1=gongbei/a;
                s2=gongbei/c;
                s3=b*s1-d*s2;
                if(s3==gongbei)
                {
                    return("1");
                }
                else
                {
                    if(s3==0)
                    {
                        daan=String.valueOf("0");
                        return daan;
                    }
                    else
                    {
                    gongyue=Gongyue(s3,gongbei);
                    int fenzi=s3/gongyue,fenmu=gongbei/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    }
                }
            }
            else if(m==2)//乘法计算的结果算法
            {
                int s1,s2;
                s1=a*c;
                s2=b*d;
                if(s1==s2)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s1,s2);
                    int fenzi=s2/gongyue,fenmu=s1/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
            else//除法计算的结果算法
            {
                int s1,s2;
                s1=a*d;
                s2=b*c;
                if(s1==s2)
                {
                    return("1");
                }
                else
                {
                    gongyue=Gongyue(s1,s2);
                    int fenzi=s2/gongyue,fenmu=s1/gongyue;
                    if(fenzi<fenmu)
                    {
                        daan=String.valueOf(fenzi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                    else
                    {
                        int zhi=fenzi/fenmu;
                        daan=String.valueOf(zhi)+""+String.valueOf(fenzi-fenmu*zhi)+"/"+String.valueOf(fenmu);//通分
                        return daan;
                    }
                }
            }
        }
        public int Gongbei(int a,int c)//求最小公倍数的函数
        {
            int gongbei;
            if(a>c)
            {
                gongbei=a;//公倍数从大的开始
                while(gongbei<=a*c)
                {
                    if(gongbei%a==0&&gongbei%c==0)
                    {
                        break;
                    }
                    gongbei++;
                }
            }
            else
            {
                gongbei=c;//公倍数从大的开始
                while(gongbei<=a*c)
                {
                    if(gongbei%a==0&&gongbei%c==0)
                    {
                        break;
                    }
                    gongbei++;
                }
            }
            return gongbei;
        }
        public int Gongyue(int gongbei,int s3)//求最大公约数的函数
        {
            int i=1,gongyue=0;
            if(gongbei>s3)//公约数从1到最小的数
            {
                while(i<=s3)
                {
                    if(gongbei%i==0&&s3%i==0)
                    {
                        gongyue=i;
                    }
                    i++;
                }
                return gongyue;
            }
            else
            {
                while(i<=gongbei)
                {
                    if(gongbei%i==0&&s3%i==0)
                    {
                        gongyue=i;
                    }
                    i++;
                }
                return gongyue;
            }
        }
        public int jianyan(String a[],int l)//检验是否生成重复计算式的函数
        {
             int flag=1;
               for(int i=0;i<l;i++)
               {
                   if(s.equals(a[i]))
                   {
                      flag=0;
                      break;
                   }
               }
               return flag;
        }
    }
    int tishu;
    int fanwei;
    int m=0;
    Random random=new Random();
    String shuju[]=new String[10000]; 
    int flag=0;
    Suan2 a=new Suan2();
    Suan1 b=new Suan1();
    String daan,daan1;
    %>
    <%
    tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei"))));
    session.setAttribute("tishu", tishu);
    if(m<tishu)
    {
        int t=random.nextInt(2);
        if(t==0)
        {
            a.shengcheng(fanwei);
            String f=a.shuchu();
            shuju[m]=a.s;
            flag=a.jianyan(shuju, m);//返回是否有重复
            if(flag==1)//如果没有就是1
            {
            if(m+1==tishu)
            {daan=a.shuchu();
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
                %>
            <form id="form2" name="form2" method="post" action="fenzhenghuoqu.jsp">
            <div style="text-align:center">
            <%out.print(m+1+"."+shuju[m]+"=");
            m=0;%>
            <br>
            <br>
            <br>
            <br>
            <br>
            请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
            <input name="" type="submit" value="提交" />
            </div>
            </form>
                <%
            }
            else
            {
                daan=a.shuchu();
                session.setAttribute("shuju", shuju[m]);
                session.setAttribute("daan", daan);
                session.setAttribute("m", m);
                %>
            <form id="form2" name="form2" method="post" action="fenzhenghuoqu.jsp">
            <div style="text-align:center">
            <%out.print(m+1+"."+shuju[m]+"=");%>
            <br>
            <br>
            <br>
            <br>
            <br>
            请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
            <input name="" type="submit" value="下一个" />
            </div>
            </form>
                <%
                m++;
                flag=0;
            }
            
            }
            else
            {
                response.setHeader("refresh","0;url = fenzheng.jsp");
            }
        }
        else
        {
            shuju[m]=b.shengcheng(fanwei);//将生成的计算式储存咋数组里面
            flag=b.jianyan(shuju, m);//返回是否有重复
            if(flag==1)//如果没有就是1
            {
            if(m+1==tishu)
            {daan=b.shuchu();
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
                %>
            <form id="form2" name="form2" method="post" action="fenzhenghuoqu.jsp">
            <div style="text-align:center">
            <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
            <%out.print(m+1+"."+shuju[m]+"=");
            m=0;%>
            <br>
            <br>
            <br>
            <br>
            请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
            <input name="" type="submit" value="提交" />
            </div>
            </form>
                <%
            }
            else
            {
                daan=b.shuchu();
                session.setAttribute("shuju", shuju[m]);
                session.setAttribute("daan", daan);
                session.setAttribute("m", m);
                %>
            <form id="form2" name="form2" method="post" action="fenzhenghuoqu.jsp">
            <div style="text-align:center">
            <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
            <%out.print(m+1+"."+shuju[m]+"=");%>
            <br>
            <br>
            <br>
            <br>
            请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
            <input name="" type="submit" value="下一个" />
            </div>
            </form>
                <%
                m++;
                flag=0;
            }
            
            }
            else
            {
                response.setHeader("refresh","1;url = fenzheng.jsp");
            }
        }
        
    }
    %>
    
    
    
    
    
    
    </body>
    </html>

    写入数据库以及判断界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/18.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    int tishu1;
    String error="",zhengque=""; 
    %>
    <%
    try
    {
    Connection con = null; //定义一个MYSQL链接对象
    Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "20153246"); //链接本地MYSQL
    java.sql.Statement stmt; //创建声明
    stmt = con.createStatement();
    String shuju=String.valueOf(session.getAttribute("shuju"));
    String daan=String.valueOf(session.getAttribute("daan"));
    int m=Integer.parseInt(String.valueOf(session.getAttribute("m")));
    tishu1=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    String daan1=request.getParameter("daan1");
    String sql="INSERT INTO 整数与真分数的混合四则运算 (shizi,result,userresult) VALUES ('"+shuju+" = "+"','"+daan+"','"+daan1+"')";
    stmt.executeUpdate(sql);
    if(daan.equals(daan1))
    {
        zhengque=zhengque+String.valueOf(m+1)+",";
    }
    else
    {
        error=error+String.valueOf(m+1)+",";
    }
    if(m+1==tishu1)
    {
        sql="INSERT INTO Grade (zhengque,cuowu) VALUES ('"+zhengque+"','"+error+"')";
        stmt.executeUpdate(sql);             
        
        %>
       <form id="form2" name="form2" method="post" action="xuanze.html">
           <div style="text-align:center;color:#F00">
           <strong>
           <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
           <%
           out.print("正确的题目是:"+zhengque+"<br>"+"错误的题目是:"+error+"<br>"+"点击确定返回主界面"); 
            zhengque="";
        error="";  %>
           <input name="" type="submit" value="确定" />
           </strong>
           </div>
           </form>
           <%
    }
    else
    {
    response.setHeader("refresh","0;url = fenzheng.jsp");
    }
    }
    catch (Exception e) 
    {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    } 
    %>
    </body>
    </html>

    有括号的界面:

    error界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="kuohaochuangdi.jsp">
    <div style="text-align:center;color:#F09">
    <br>
        <br>
        <br>
        <br>
        <br>
        <br>
    请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
    请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
    <input name="" type="submit" value="提交" />
    </div>
    </form>
    </body>
    </html>

    参数传递界面:

    <%@ 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>
    <%
    try
    {
        int tishu=Integer.parseInt(request.getParameter("geshu"));
        int fanwei=Integer.parseInt(request.getParameter("fanwei"));
        session.setAttribute("tishu", tishu);
        session.setAttribute("fanwei", fanwei);
        response.setHeader("refresh","0;url = kuohao.jsp");
    }
    catch(Exception e)
    {
        %>
        
        <script type="text/javascript">
        alert("输入错误,点击确定返回重新输入!!!")
        </script>
        <%
        response.setHeader("refresh","0;url = kuohaoerror.jsp");
    }
    %>
    </body>
    </html>

    显示界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.Random"%>
    <!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>
    <style type="text/css">
    body 
    {
        background-image: url(image/4.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    class Suan1//生成整数计算的类
    {
        public int x,y,c;//定义两个变量,还有一个符号变量
        public Random random=new Random();//定义随机数
        String m;//生成的计算式储存咋m里面
        int fanwei;
        public String shengcheng(int fanwei1)//自动生成数的函数
        {
             fanwei=fanwei1;
             c=random.nextInt(4);//生成符号
             String fuhao;
             x=random.nextInt(fanwei);//生成100以内的自然数
             y=random.nextInt(fanwei);
             if(c==0)//0是加法
             {
                 fuhao="+";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
                 
             }
             else if(c==1)//1是减法
             {
                 fuhao="-";
                 if(x>=y)
                 {
                     m=String.valueOf(x)+fuhao+String.valueOf(y);
                 }
                 else
                 {
                     m=String.valueOf(y)+fuhao+String.valueOf(x);
                 }
             }
             else if(c==2)
             {
                 fuhao="*";
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             else
             {
                 fuhao="/";
                 for(int i=0;;i++)
                 {
                     if(y==0)
                     {
                         y=random.nextInt(fanwei);
                     }
                     else
                     {
                         break;
                     }
                 }
                 m=String.valueOf(x)+fuhao+String.valueOf(y);
             }
             return m;
             
        }
        public String shuchu()//定义输出函数
        {
            if(c==0)
            {
                return (String.valueOf(x+y));//并且返回计算的结果
            }
            else if(c==1)
            {
                if(x>=y)//将较大的数放在前面,不能出现负数
                {
                return (String.valueOf(x-y));
                }
                else
                {
                return (String.valueOf(y-x));
                }
            }
            else if(c==2)
            {
                return (String.valueOf(x*y));
            }
            else
            {
                if(x%y==0)
                {
                    return (String.valueOf(x/y));
                }
                else
                {
                    if(x>y)
                    {
                    int shang=x/y;
                    int yushu=x-y*shang;
                    return (String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y));
                    }
                    else
                    {
                    return (String.valueOf(x)+"/"+String.valueOf(y));
                    }
                }
            }
        }
        public int fanhuic()
        {
            return c;
        }
        public String jisuan()
        {
            if(c==0)
            {
                return (String.valueOf(x+y));//并且返回计算的结果
            }
            else if(c==1)
            {
                if(x>=y)//将较大的数放在前面,不能出现负数
                {
                return (String.valueOf(x-y));
                }
                else
                {
                return (String.valueOf(y-x));
                }
            }
            else if(c==2)
            {
                return (String.valueOf(x*y));
            }
            else
            {
                if(x%y==0)
                {
                    return (String.valueOf(x/y));
                }
                else
                {
                return (String.valueOf(x)+"/"+String.valueOf(y));
                }
            }
        }
        public int jianyan(String a[],int s)//检验是否有重复的式子,如果有返回0,没有就返回1
        {
           int flag=1;
           for(int i=0;i<s;i++)
           {
               if(m.equals(a[i]))//数组a里面是生成的式子
               {
                  flag=0;
                  break;
               }
           }
           return flag;
        }
    }
    class Suan4
    {
        public String m;
        public Random random=new Random();
        public Suan1 suan=new Suan1();
        public String a;
        public int b,z;
        public int c;
        public String a1;
        public int panduan;
        public int x,y;
        public String daan;
        public int weizhi;
        public double kuohao()
        {
            panduan=suan.fanhuic();
            if(panduan==3)
            {
                weizhi=a.indexOf("/");
                if(weizhi==-1)
                {
                    z=Integer.parseInt(a);
                    return z;
                }
                else
                {
                x=Integer.parseInt(a.substring(0, weizhi));
                y=Integer.parseInt(a.substring(weizhi+1));    
                return (Double.parseDouble(a.substring(0, weizhi))/Double.parseDouble(a.substring(weizhi+1)));
                }
            }
            else
            {
                z=Integer.parseInt(a);
                return z;
            }
        }
        public String shengcheng(int fanwei)
        {
            a1=suan.shengcheng(fanwei);
            a=suan.jisuan();
            b=random.nextInt(fanwei);
            int c=random.nextInt(4);
            int daan1;
            String fuhao;
            int kuohao=random.nextInt(2);
            if(c==0)//0是加法
             {
                 fuhao="+";
             }
             else if(c==1)//1是减法
             {
                 fuhao="-";
             }
             else
             {
                 fuhao="*";
             }
            double daxiao=kuohao();
            if(kuohao==0)
            {
                if(c==1&&daxiao<b)
                {
                    m=String.valueOf(b)+fuhao+"("+a1+")";
                    if(weizhi!=-1&&panduan==3)
                    {
                        if(c==0)
                        {
                            int x1=b*y;
                            int x2=x+x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==1)
                        {
                            int x1=b*y;
                            int x2=x1-x;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==2)
                        {
                            int x2=x*b;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                    }
                    else
                    {
                        if(c==0)
                        {
                            daan=String.valueOf(b+z);
                        }
                        else if(c==1)
                        {
                            daan=String.valueOf(b-z);
                        }
                        else
                        {
                            daan=String.valueOf(b*z);
                        }
                    }
                }
                else
                {
                    m="("+a1+")"+fuhao+String.valueOf(b);
                    if(weizhi!=-1&&panduan==3)
                    {
                        if(c==0)
                        {
                            int x1=b*y;
                            int x2=x+x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==1)
                        {
                            int x1=b*y;
                            int x2=x-x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==2)
                        {
                            int x2=x*b;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                    }
                    else
                    {
                        if(c==0)
                        {
                            daan=String.valueOf(z+b);
                        }
                        else if(c==1)
                        {
                            daan=String.valueOf(z-b);
                        }
                        else
                        {
                            daan=String.valueOf(z*b);
                        }
                    }
                }
            }
            else
            {
                if(c==1&&daxiao>b)
                {
                    m="("+a1+")"+fuhao+String.valueOf(b);
                    if(weizhi!=-1&&panduan==3)
                    {
                        if(c==0)
                        {
                            int x1=b*y;
                            int x2=x+x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==1)
                        {
                            int x1=b*y;
                            int x2=x-x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==2)
                        {
                            int x2=x*b;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                    }
                    else
                    {
                        if(c==0)
                        {
                            daan=String.valueOf(z+b);
                        }
                        else if(c==1)
                        {
                            daan=String.valueOf(z-b);
                        }
                        else
                        {
                            daan=String.valueOf(z*b);
                        }
                    }
                }
                else
                {
                    m=String.valueOf(b)+fuhao+"("+a1+")";
                    if(weizhi!=-1&&panduan==3)
                    {
                        if(c==0)
                        {
                            int x1=b*y;
                            int x2=x+x1;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==1)
                        {
                            int x1=b*y;
                            int x2=x1-x;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                        else if(c==2)
                        {
                            int x2=x*b;
                            if(x2%y==0)
                            {
                                daan=String.valueOf(x2/y);
                            }
                            else
                            {
                                if(x2>y)
                                {
                                int shang=x2/y;
                                int yushu=x2-y*shang;
                                daan=String.valueOf(shang)+""+String.valueOf(yushu)+"/"+String.valueOf(y);
                                }
                                else
                                {
                                daan=String.valueOf(x2)+"/"+String.valueOf(y);
                                }
                            }
                        }
                    }
                    else
                    {
                        if(c==0)
                        {
                            daan=String.valueOf(b+z);
                        }
                        else if(c==1)
                        {
                            daan=String.valueOf(b-z);
                        }
                        else
                        {
                            daan=String.valueOf(b*z);
                        }
                    }
                }
            }
            m=m+"=";
            return m;
        }
        public int jianyan(String a[],int l)//检验是否重复的函数
        {
             int flag=1;
               for(int i=0;i<l;i++)
               {
                   if(m.equals(a[i]))
                   {
                      flag=0;
                      break;
                   }
               }
               return flag;
        }
    }
    int tishu;
    int fanwei;
    int m=0;
    String shuju[]=new String[10000]; 
    int flag=0;
    Suan4 a=new Suan4();
    String daan,daan1;
    String zhengque="",cuowu="";
    %>
    <%
    tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei"))));
    session.setAttribute("tishu", tishu);
    if(m<tishu)//生成30个计算式
    {
        shuju[m]=a.shengcheng(fanwei);//将生成的计算式储存咋数组里面
        flag=a.jianyan(shuju, m);//返回是否有重复
        if(flag==1)//如果没有就是1
        {
        if(m+1==tishu)
        {daan=a.daan;
        session.setAttribute("shuju", shuju[m]);
        session.setAttribute("daan", daan);
        session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="kuohaohuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");
        m=0;%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
            <%
        }
        else
        {
            daan=a.daan;
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="kuohaohuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");%>
        <br>
        <br>
        <br>
        <br>
        请输入答案:<input name="daan1" type="text" value=""/><br /><br/>
        <input name="" type="submit" value="下一个" />
        </div>
        </form>
            <%
            m++;
            flag=0;
        }
        
        }
        else
        {
            response.setHeader("refresh","1;url = kuohao.jsp");
        }
    }
    %>
    </body>
    </html>

    写入数据库以及判断界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/18.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    int tishu1;
    String error="",zhengque=""; 
    %>
    <%
    try
    {
    Connection con = null; //定义一个MYSQL链接对象
    Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "20153246"); //链接本地MYSQL
    java.sql.Statement stmt; //创建声明
    stmt = con.createStatement();
    String shuju=String.valueOf(session.getAttribute("shuju"));
    String daan=String.valueOf(session.getAttribute("daan"));
    int m=Integer.parseInt(String.valueOf(session.getAttribute("m")));
    tishu1=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    String daan1=request.getParameter("daan1");
    String sql="INSERT INTO 有括号的四则运算 (shizi,result,userresult) VALUES ('"+shuju+" = "+"','"+daan+"','"+daan1+"')";
    stmt.executeUpdate(sql);
    if(daan.equals(daan1))
    {
        zhengque=zhengque+String.valueOf(m+1)+",";
    }
    else
    {
        error=error+String.valueOf(m+1)+",";
    }
    if(m+1==tishu1)
    {
        sql="INSERT INTO Grade (zhengque,cuowu) VALUES ('"+zhengque+"','"+error+"')";
        stmt.executeUpdate(sql);             
        
        %>
       <form id="form2" name="form2" method="post" action="xuanze.html">
           <div style="text-align:center;color:#F00">
           <strong>
           <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
           <%
           out.print("正确的题目是:"+zhengque+"<br>"+"错误的题目是:"+error+"<br>"+"点击确定返回主界面"); 
            zhengque="";
        error="";  %>
           <input name="" type="submit" value="确定" />
           </strong>
           </div>
           </form>
           <%
    }
    else
    {
    response.setHeader("refresh","0;url = kuohao.jsp");
    }
    }
    catch (Exception e) 
    {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    } 
    %>
    </body>
    </html>

    有余数的界面:

    error界面:

    <%@ 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>
    <style type="text/css">
    body 
    {
        background-image: url(image/7.jpg);
    }
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="yushuchuangdi.jsp">
    <div style="text-align:center;color:#F09">
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    请输入出题的个数:<input name="geshu" type="text" value=""/><br /><br/>
    请选择出题的范围:<input name="fanwei" type="text" value=""/><br/><br/>
    <input name="" type="submit" value="提交" />
    </div>
    </form>
    </body>
    </html>

    参数传递界面:

    <%@ 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>
    <%
    try
    {
        int tishu=Integer.parseInt(request.getParameter("geshu"));
        int fanwei=Integer.parseInt(request.getParameter("fanwei"));
        session.setAttribute("tishu", tishu);
        session.setAttribute("fanwei", fanwei);
        response.setHeader("refresh","0;url = yushu.jsp");
    }
    catch(Exception e)
    {
        %>
        <script type="text/javascript">
        alert("输入错误,点击确定返回重新输入!!!")
        </script>
        <%
        response.setHeader("refresh","0;url = yushuerror.jsp");
    }
    %>
    </body>
    </html>

    显示界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.Random"%>
    <!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>
    <style type="text/css">
    body 
    {
        background-image: url(image/4.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    class Suan3//有余数的类
    {
        public int x,y;//定义两个变量
        public String m;
        public Random random=new Random();
        int fanwei;
        public String shengcheng(int fanwei1)//定义生成函数
        {
            fanwei=fanwei1;
            x=random.nextInt(fanwei);
            y=random.nextInt(fanwei);
            for(int i=0;;i++)
            {
                if(y==0)
                {
                    y=random.nextInt(fanwei);
                }
                else
                {
                    break;
                }
            }
            m=String.valueOf(x)+"/"+String.valueOf(y);//返回计算式
            return m;
        }
        public String shuchu()//生成输出函数
        {
            String daan;
            int shang,yushu;
            shang=x/y;
            yushu=x-shang*y;
            daan=String.valueOf(shang)+"/"+String.valueOf(yushu);//返回计算结果
            return daan;
        }
        public int jianyan(String a[],int l)//检验是否重复的函数
        {
             int flag=1;
               for(int i=0;i<l;i++)
               {
                   if(m.equals(a[i]))
                   {
                      flag=0;
                      break;
                   }
               }
               return flag;
        }
    }
    int tishu;
    int fanwei;
    int m=0;
    String shuju[]=new String[10000]; 
    int flag=0;
    Suan3 a=new Suan3();
    String daan,daan1;
    %>
    <%
    
    tishu=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    fanwei=Integer.parseInt((String.valueOf(session.getAttribute("fanwei"))));
    session.setAttribute("tishu", tishu);
    if(m<tishu)
    {
        shuju[m]=a.shengcheng(fanwei);
        flag=a.jianyan(shuju, m);//返回是否有重复
        if(flag==1)//如果没有就是1
        {
        if(m+1==tishu)
        {daan=a.shuchu();
        session.setAttribute("shuju", shuju[m]);
        session.setAttribute("daan", daan);
        session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="yushuhuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");
        m=0;%>
        <br>
        <br>
        <br>
        <br>
        请输入商:<input name="daan1" type="text" value=""/><br /><br/>
        请输入余数:<input name="daan2" type="text" value=""/><br>
        <br>
        <input name="" type="submit" value="提交" />
        </div>
        </form>
            <%
        }
        else
        {
            daan=a.shuchu();
            session.setAttribute("shuju", shuju[m]);
            session.setAttribute("daan", daan);
            session.setAttribute("m", m);
            %>
        <form id="form2" name="form2" method="post" action="yushuhuoqu.jsp">
        <div style="text-align:center">
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <%out.print(m+1+"."+shuju[m]+"=");%>
        <br>
        <br>
        <br>
        <br>
        请输入商:<input name="daan1" type="text" value=""/><br /><br/>
        请输入余数:<input name="daan2" type="text" value=""/><br>
        <br>
        <input name="" type="submit" value="下一个" />
        </div>
        </form>
            <%
            m++;
            flag=0;
        }
        
        }
        else
        {
            response.setHeader("refresh","0;url = yushu.jsp");
        }
    }
    %>
    </body>
    </html>

    写入数据库以及判断界面:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.Connection" import="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>Insert title here</title>
    <style type="text/css">
    body 
    {
        background-image: url(image/18.jpg);
    }
    </style>
    </head>
    <body>
    <%!
    int tishu1;
    String error="",zhengque=""; 
    %>
    <%
    try
    {
    Connection con = null; //定义一个MYSQL链接对象
    Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "20153246"); //链接本地MYSQL
    java.sql.Statement stmt; //创建声明
    stmt = con.createStatement();
    String shuju=String.valueOf(session.getAttribute("shuju"));
    String daan=String.valueOf(session.getAttribute("daan"));
    int weizhi=daan.indexOf('/');
    String shang1=daan.substring(0, weizhi);
    String yushu1=daan.substring(weizhi+1);
    int m=Integer.parseInt(String.valueOf(session.getAttribute("m")));
    tishu1=Integer.parseInt((String.valueOf(session.getAttribute("tishu"))));
    String shang =request.getParameter("daan1");
    String yushu =request.getParameter("daan2");
    String sql="INSERT INTO 有余数的除法 (shizi,shang,yushu,usershang,useryushu) VALUES ('"+shuju+" = "+"','"+shang1+"','"+yushu1+"','"+shang+"','"+yushu+"')";
    stmt.executeUpdate(sql);
    if(daan.equals(shang+"/"+yushu))
    {
        zhengque=zhengque+String.valueOf(m+1)+",";
    }
    else
    {
        error=error+String.valueOf(m+1)+",";
    }
    if(m+1==tishu1)
    {
        sql="INSERT INTO Grade (zhengque,cuowu) VALUES ('"+zhengque+"','"+error+"')";
        stmt.executeUpdate(sql);             
        
        %>
        <form id="form2" name="form2" method="post" action="xuanze.html">
           <div style="text-align:center;color:#F00">
           <strong>
           <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
           <%
           out.print("正确的题目是:"+zhengque+"<br>"+"错误的题目是:"+error+"<br>"+"点击确定返回主界面"); 
            zhengque="";
        error="";  %>
           <input name="" type="submit" value="确定" />
           </strong>
           </div>
           </form>
           <%
    }
    else
    {
    response.setHeader("refresh","0;url = yushu.jsp");
    }
    }
    catch (Exception e) 
    {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    } 
    %>
    </body>
    </html>

     结果截图操作:

  • 相关阅读:
    2017.1.10学习笔记
    v-model双向绑定
    指令之v-bind
    v-for列表渲染
    事件修饰符
    v-on
    指令v-text v-html
    vue起步
    Swoole HTTPServer
    SwooleTCP
  • 原文地址:https://www.cnblogs.com/th1314/p/6680099.html
Copyright © 2011-2022 走看看