zoukankan      html  css  js  c++  java
  • 软件工程作业02

    一代码:suanshi.java:

    package p1;

    public class Suanshi {

    final int MAX=1000;

    double[] e= new double[MAX];

    String[] f=new String[MAX];

    private int num;

    public int getNum() {

    return num;

    }

    public void setNum(int num) {

    this.num = num;

    }

    public Suanshi(){}

    public Suanshi(int n)

    {

    creatSuanshi(n);

    this.num=n;

    }

    public void creatSuanshi(int n)

    {

      int a;

      int c;

      int d;

      int h;

      for(int i=0;i<n;i++)

      {

      a=(int)(Math.random()*100+1);

      d=(int)(Math.random()*8+1);

      c=(int)(Math.random()*100+1);

      h=(int)(Math.random()*100+1);

      switch(d){

      case 1:

       if(a+c>100)

       {

       i--;

       break;

       }

       e[i]=a+c;

        f[i]=""+a+"+"+c;

       break;

      case 2:

       if(a-c<0)

       {

       i--;

       break;

       }

       e[i]=a-c;

       f[i]=""+a+"-"+c;

       break;

      case 3:

       while(a*c>100)

       {

        a=(int)(Math.random()*10);

        c=(int)(Math.random()*10);

       }

       e[i]=a*c;

       f[i]=""+a+"*"+c;

       break;

      case 4:

         

       e[i]= (int)(Math.random()*10+1);

       c= (int)(Math.random()*10+1);

       a=(int)(c*e[i]);

       f[i]=""+a+"/"+c;

       if((c==0)&&(a>100))

       {

       i--;

       break;

       }

      case 5:

      if(a+c+h>100)

      {

      i--;

      break;

      }

      e[i]=a+c+h;

      f[i]=""+a+"+"+c+"+"+h;   

       break;

      case 6:

      if(a+c-h>100||a+c-h<0)

      {

      i--;

      break;

      }

      e[i]=a+c-h;

      f[i]=""+a+"+"+c+"-"+h;   

       break;

      case 7:

           if(a-c+h>100||a-c+h<0)

           {

      i--;

      break;

           }

           e[i]=a-c+h;

           f[i]=""+a+"-"+c+"+"+h;   

           break;

      case 8:

           if(a-c-h>100||a-c-h<0)

           {

      i--;

      break;

           }

           e[i]=a-c-h;

           f[i]=""+a+"-"+c+"-"+h;   

           break;

       }

       }

    }

    public String getSuanshi(int i)

    {

    return f[i];

    }

    public double getDaan(int i)

    {

    return e[i];

    }

    }

    add.jsp

    <%@page import="p1.Suanshi"%>

    <%@ 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>

    <body background="C:新建文件夹2.jpg">

    <body onLoad="TimeClose();">

    <script language="javascript">

    var cTime=100;

    function TimeClose()

    {

    window.setTimeout('TimeClose()',1000);

    if(cTime<=0)

    CloseWindow_Click();

    this.ShowTime.innerHTML="倒计时"+cTime+"秒后结束答题";

    cTime--;

    }

    function CloseWindow_Click()

    {

    window.close();

    }

    </script>

    <%

    //获取客户端传递过来的参数

    if("".equals(request.getParameter("number").trim()))

    {

    request.setAttribute("loginError","不能为空");

    %>

    <jsp:forward page="index.jsp"></jsp:forward>

    <%

    }

    else 

    {

    if(Integer.parseInt(request.getParameter("number").trim())==0)

    {

    request.setAttribute("loginError","不能为0");

    %>

    <jsp:forward page="index.jsp"></jsp:forward>

    <%

    }

    }

    int number=Integer.parseInt(request.getParameter("number").trim());

        Suanshi suanshi=new Suanshi(number);

        session.setAttribute("suanshi", suanshi);

    %>

    <center><h1>答题</h1></center>

        <div align="right" id="ShowTime">倒计时100秒后结束答题</div>

        <hr>

        <form action="judge.jsp">

        <table align="center" border="1" width="450">

        <tr>

    <td align="center">题号</td>

    <td align="center">表达式</td>

    <td align="center">你的答案</td>

    </tr>

    <% 

    for(int i=0;i<number;i++)

      {

    %>

    <tr>

    <td align="center">第<%=i+1%>题</td>

    <td align="center"><%=suanshi.getSuanshi(i)%>=</td>

    <td><input type="text" name="daan<%=i%>"></td>

    </tr>

    <% 

     }

    %>

    </table><br>

    <center><input type="submit" value="提交"></center>

    </form>

    </body>

    </html>

    Index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

      <head> 

       <title>输入数量页面</title>    

      </head>

    <body background="C:新建文件夹5.jpg">

    <br><br><br><br><br><br><br>

    <%

    String loginError = (String)request.getAttribute("loginError");

    if(loginError == null)

    {

    loginError = "";

    }

    %>

    <form action="add.jsp" method="get">

    <center><h1>输入页面</h1>

    数量:<input type="text" name="number"/><%=loginError %><br><br>

    时间一共为<font color="red">100</font>秒<br><br>

    <input type="submit" value="开始答题" /></center>

    </form>

    </body>

    </html>

    Judge.jsp

    <%@page import="p1.Suanshi"%>

    <%@ 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="C:新建文件夹1.jpg">

    <%

    Suanshi suanshi = (Suanshi)session.getAttribute("suanshi") ;

    int dui=0;

    int cuo=0;

    int meizuo=0;

    int[] flag=new int[suanshi.getNum()];

    String daan[]=new String[suanshi.getNum()];

    double daan1[]=new double[suanshi.getNum()];

    for(int i=0;i<suanshi.getNum();i++)

    {

    daan[i]=request.getParameter("daan"+i).trim();

    if((daan[i]==null)||("".equals(daan[i].trim())))

    {

    flag[i]=0;

    meizuo++;

    }

    else

    {

       daan1[i] =Double.parseDouble(daan[i]);

    if(Math.abs(daan1[i]-suanshi.getDaan(i))<0.01)

    {

    flag[i]=1;

    dui++;

    }

    else

    {

    flag[i]=0;

    cuo++;

    }

    }

    }

    %>

    <body>

    <hr size="1" color="black">

    <center>

    <h1>测试成绩</h1>

    <hr size="1" color="black">

    一共:<%=suanshi.getNum()%>道<br>

    没做的:<%=meizuo %>道<br>

    做错的:<%=cuo %>道<br>

    作对的:<%=dui %>道<br></center>

    <hr width="800" color="red">

    <center><h3>错误题目</h3></center>

    <hr width="800" color="red">

    <table align="center" border="1" width="450">

    <tr>

    <td align="center">题号</td>

    <td align="center">表达式</td>

    <td align="center">正确答案</td>

    <td align="center">你的结果</td>

    </tr>

    <% 

    for(int i=0;i<suanshi.getNum();i++)

    if(flag[i]==0)

      {

    %>

    <tr>

    <td align="center">第<%=i+1%>题</td>

    <td align="center"><%=suanshi.getSuanshi(i)%>=</td>

    <td align="center"><%=suanshi.getDaan(i)%></td>

    <td align="center"><%=daan[i]%></td>

    </tr>

    <% 

     }

    %>

    </table>

    </body>

    </html>

    NewFileJsp

    <%@ 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>

    <title>倒计时关闭网页</title>

    <head>

    <script language="javascript">

    var cTime=100;

    function TimeClose()

    {

    window.setTimeout('TimeClose()',1000);

    if(cTime<=0)

    CloseWindow_Click();

    this.ShowTime.innerHTML="倒计时"+cTime+"秒后关闭当前窗口";

    cTime--;

    }

    function CloseWindow_Click()

    {

    window.close();

    }

    </script>

    </head>

    <body onLoad="TimeClose();">

    <div id="ShowTime">倒计时100秒后关闭当前窗口</div>

    <input type="button" name="CloseWindow" onClick="CloseWindow_Click();" value="立即关闭当前网页">

    </body>

    </html>

    二结果截图

    PSP2.1

    Personal Software Process Stages

    Planning

    计划

      · Estimate

      · 估计这个任务需要多少时间

    20小时

    Development

    开发

      · Analysis

      · 需求分析 (包括学习新技术)

    5小时

      · Design Spec

      · 生成设计文档

    1小时

      · Design Review

      · 设计复审 (和同事审核设计文档)

    10分钟

      · Coding Standard

      · 代码规范 (为目前的开发制定合适的规范)

      · Design

      · 具体设计

      · Coding

      · 具体编码

    10小时

      · Code Review

      · 代码复审

    1小时

      · Test

      · 测试(自我测试,修改代码,提交修改)

    1小时

    Reporting

    报告

    1小时

      · Test Report

      · 测试报告

      · Size Measurement

      · 计算工作量

      · Postmortem & Process Improvement Plan

      · 事后总结, 并提出过程改进计划

    1小时

    合计20小时10分钟

  • 相关阅读:
    Centos常用命令(四、进程)
    搭建git服务器(Centos7)
    tortoiseGit使用
    docker常用命令
    配置docker阿里云加速器_CentOS7
    Centos常用命令(三、网络配置)
    Centos常用命令(二、任务调度和磁盘管理)
    spring的作用
    什么是spring框架
    get和post的区别
  • 原文地址:https://www.cnblogs.com/877612838zzx/p/8301678.html
Copyright © 2011-2022 走看看