四则运算网页版

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

      功能如下:

      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 = zhengshu.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>

结果截图操作:

 

 

 

 

 

 这是整个四则运算的所有程序代码以及实验截图,希望发现问题的朋友可以随时联系我。

原文地址:https://www.cnblogs.com/zll20153246/p/6679661.html