javaweb1(小学生四则运算)

一、设计思想

①设计三个页面,分别为题数设置页面,题目显示页面以及结果显示页面。

②设计题数设置页面。

③从题数设置页面接收题数,作为循环次数。

④利用随机数生成相应符合条件表达式,并存入数据库。

⑤接收网页传来的解答,与数据库中的标准答案比较,得出成绩。

二、源程序代码

number.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>整数二级菜单页面</title>
</head>
<body background="../img/4.jpg">
    <form name="form1" method=post action="index.jsp">
    <center>   <font color=blue >欢迎来到口算练习网</font></center>
    <table align="center">
    <tr>
    <td>  <font color=blue >请输入需要生成的题目数量</font></td>
    <td><input name="shuliang" id="shuliang" type="text" > </td>
    </tr>
    </table>
        <center><input type="submit" value="开始出题"> </center>
    </form> 
</body>
</html>

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>整数页面</title>
</head>
<body background="../img/5.jpg">
 <center><font color=green >做题开始了呦!</font></center>
<%
   String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    Class.forName(driverStr).newInstance();
    String connStr = "jdbc:sqlserver://localhost:1433; DatabaseName=source";
    String dbusername = "sa";
    String dbpassword = "123456";
    Connection conn=null;
    java.sql.Statement stmt=null;
    conn=DriverManager.getConnection(connStr, dbusername, dbpassword);
    stmt=conn.createStatement();
        int ans=0;
        String j=request.getParameter("shuliang");
        int sl=Integer.valueOf(j);
        String []ss=new String[sl];
        String s="";
        String s1="-";
        String daan[] =new String [sl];
        String ans2[]=new String[sl];
        int a[]=new int [sl];
        int b[]=new int [sl];
        int a1[]=new int [sl];
        int b1[]=new int [sl];
        int a2[]=new int [sl];
        int flag=0;
        int flag1=0;    
        int c[]=new int [sl];
        for(int i=0;i<sl;)
        {
            daan[i]="name"+i;
            flag1=0;
            a[i]=(int)(Math.random()*98+1);
            b[i]=(int)(Math.random()*98+1);
            c[i]=(int)(Math.floor((Math.random()*5)));
            a1[i]=(int)(Math.random()*8+1);
            b1[i]=(int)(Math.random()*8+1);
            a2[i]=(int)(Math.random()*98+1);
            if(c[i]==0){
            s="+";
            if(ans<100){
            ans=a[i]+b[i];
            ss[i]=a[i]+s+b[i];
            flag1=1;
            }
            }
            else if(c[i]==1){
            s="-";
            if(a[i]>b[i]){
            ans=a[i]-b[i];
            ss[i]=a[i]+s+b[i];
            }
            else if(a[i]<b[i]){
            ans=b[i]-a[i];
            ss[i]=b[i]+s+a[i];
            } 
            flag1=1;
            }
            else if(c[i]==2){
            s="*";
            ans=a1[i]*b1[i];
            ss[i]=a1[i]+s+b1[i];
            flag1=1;
            }
            else if(c[i]==3){
            s="/";
            int sum=a1[i]*b1[i];
            ans=b1[i];
            ss[i]=sum+s+a1[i];
            flag1=1;
            }
            else{
            s="+";
            ans=a[i]+b[i]-a2[i];
            int sum=a[i]+b[i];
            if(ans>0&&sum<100){
            flag1=1;
            ss[i]=a[i]+s+b[i]+s1+a2[i];
            }
            }
                if(flag1==1){
                String sql="INSERT INTO size VALUES ('"+ss[i]+"','"+ans+"')";
                stmt.executeUpdate(sql);
                ans2[i]=""+ans;
                out.print(ss[i]); 
                 
                %>
                <br> 
                <form name="form2" method="post" action="result.jsp">
                 <font color=green >请输入答案<input name=<%=daan[i] %> type="text" id="daan"></font>
                 <br/>                 
 
                        <%   
        i++;
        session.setAttribute("v1", ss);
        session.setAttribute("v2", ans2);
        }
        }
        %>
    <input type="submit" value="统计结果"> </form>
</body>
</html>

result.jsp

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

三、运行结果截图

四、编程总结分析

这次程序说实话编下来很累很累,因为基本还是一窍不通的情况,所以基本一切的知识都是自己查询加上问人再一个个尝试得出来的。但是编完之后很有成就感,看着自己的网页,虽然还不成熟,但是还是很开心。

五、PSP0级

1.项目计划总结

时间计划:周三下午1点开始,一直做到结束

内容规划:从下午开始完成整个网页开发

2.时间记录日志

实际时间:下午1点-10点20

内容基本完成

3.缺陷记录日志

①界面不美观,字体大小没有调整的好

②时间设置没有写入

原文地址:https://www.cnblogs.com/cairsha/p/7994433.html