zoukankan      html  css  js  c++  java
  • 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.缺陷记录日志

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

    ②时间设置没有写入

  • 相关阅读:
    网上购物瘾,你怎么能退出?
    POJ 1006 Biorhythms 中国的法律来解决剩余的正式
    【Android接口实现】PhotoView——单点支持/多图像缩放,实现了触摸
    线程同步synchronized
    阿里云CentOS 6.5 设备、执行Docker容器和步骤的方法
    打破了中国电信华为无线路由猫(HG522-C)自己主动拨号+任意数量的计算机+iTV
    GCC 命令行具体解释
    Nginx 负载均衡
    Linux pipe功能
    Java有用的经验--Swing片
  • 原文地址:https://www.cnblogs.com/cairsha/p/7994433.html
Copyright © 2011-2022 走看看