软件工程结对作业01

Posted Kefi的个人博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程结对作业01相关的知识,希望对你有一定的参考价值。

程序设计思想:

  首先,由于之前的四则运算已经基本上把需要实现的功能都实现了,所以这次任务的重心在于怎么把一个Java程序变成网页版的。

第一步我的想到需要哪几个网页,每个网页都实现什么功能。那么,主页是必不可少的,用户需要在主页上选择一些出题的基本参数,比如说自然数的范围、

除法有无余数,减法有无负数等,当用于选择好之后,由后台开始出题,于另一个页面显示后台出的题目,用户于此页面进行答题,做完之后,

提交到另一个页面,对用户输入的答案与出题同时写进数据库的答案进行比较,同时告诉用户做对的题目是哪些,做错的题目是哪些。

  以上是这个在线答题系统的整体框架,接下来就是对上述描述进行实现,代码如下:

首先是主页的代码:

<!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>index</title>
<link href="css/css01.css" rel="stylesheet" type="text/css"/>
<script language="javascript">
function istrue(form1){
text1=form1.text1.value;
    text2=form1.text2.value;
    if(text1.length==0) 
{
alert("题目数量不能为空!");
form1.text1.focus();
return false;
}
    if(text2.length==0) 
{
alert("自然数范围不能为空!");
form1.text2.focus();
return false;
}
}
</script>
</head>

<body>
<h2>Online答题系统</h2>
<div id="index" >
<form action="jsp01.jsp" name="form1" id="form1" method="post" onsubmit="return istrue(form1)">
<table>
<tr>
<td>
<label for="text1">请输入题目的数量:</label></td><td>
<input type="text" name="text1" id="text1" value="10" />
</td>
</tr>
<tr>
<td>
<label for="text2">请输入自然数的范围:</label></td><td>
<input type="text" name="text2" id="text2" value="10"/>
</td>
</tr>
<tr>
<td>
<label for="text3">请输入真分数的范围:</label></td><td>
<input type="text" name="text3" id="text3" value="10"/>
</td>
</tr>
<tr>
<td>
<label for="text4">请输入真分数分母的范围:</label></td><td>
<input type="text" name="text4" id="text4" value="10" />
</td>
</tr>
<tr>
<td>
<label id="label1">请选择是否需要乘除法?</label></td><td>
<input type="radio" name="radio1" checked="checked" id="radio1" value="y" />
<label for="radio1"></label>
<input type="radio"  name="radio1" id="radio1" value="n" />
<label for="radio1"></label>
</td>
</tr>
<tr>
<td>
<label id="label2">请选择是否需要括号?</label></td><td>
<input type="radio" checked="checked" name="radio2" id="radio2" value="y" />
<label for="radio2"></label>
<input type="radio" name="radio2" id="radio2" value="n" />
<label for="radio2"></label>
</td>
</tr>
<tr>
<td>
<label id="label3">请选择是否需要负数?</label></td><td>
<input type="radio" name="radio3" checked="checked" id="radio3" value="y" />
<label for="radio3"></label>
<input type="radio" name="radio3" id="radio3" value="n" />
<label for="radio3"></label>
</td>
</tr>
<tr>
<td>
<label id="label4">请选择是否需要余数?</label></td><td>
<input type="radio" name="radio4" checked="checked" id="radio4" value="y" />
<label for="radio4"></label>
<input type="radio" name="radio4" id="radio4"  value="n" />
<label for="radio4"></label>
</td>
</tr>
<tr>
<td>
<input type="submit" name="submit" id="submit" value="开始出题"/>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
View Code

接下来是答题页面的代码:

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*,java.util.*,javabean01.*,javax.sql.*,javax.naming.*" errorPage="" %>
<!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" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>无标题文档</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<link href="css/css01.css" rel="stylesheet" type="text/css"/>
</head>

<body>
<%
int number=Integer.parseInt(request.getParameter("text1"));
int i; //用于循环
Random ran=new Random();   //专门用于产生随机数
int ranNumber;//存随机产生的数
//建一个Ways类的对象,用于方法的调用
Ways ways=new Ways();

//用于存储用户的选择
char choice[]=new char[4];
choice[0]=request.getParameter("radio1").charAt(0);
choice[1]=request.getParameter("radio2").charAt(0);
choice[2]=request.getParameter("radio3").charAt(0);
choice[3]=request.getParameter("radio4").charAt(0);

int range1=Integer.parseInt(request.getParameter("text2"));
int range2=Integer.parseInt(request.getParameter("text3"));
int range3=Integer.parseInt(request.getParameter("text4"));%>
<form name=form2 action="jsp02.jsp" method=post>

<%
//清空数据库中原来的东西

Connection conn=null;
Statement stmt=null;
try{
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/calculation");
conn=ds.getConnection();
stmt=conn.createStatement();
String sql="truncate table biaodashi";
stmt.execute(sql);
sql="truncate table anwsy";
stmt.execute(sql);
}
catch(SQLException se){
    se.printStackTrace();
}
finally{
    if(stmt!=null){
        try{
            stmt.close();
        }
        catch(SQLException se)
        {
            se.printStackTrace();
        }
        stmt=null;
    }
    if(conn!=null){
        try
        {
            conn.close();
        }
        catch(SQLException se)
        {
            se.printStackTrace();
        }
        conn=null;
    }
}
for(i=1;i<=number;i++){
    //开始出题
    int ran1=ran.nextInt(8)+1;
    switch(ran1){
    case 1:
        String result1=ways.addInt(range1);
        if(result1!=null){
        out.println(result1);%><input type="text" class=daan name="text<%=i%>"></input><br/><%
        }
        else i--;
        break;
    case 2:
        String result2=ways.mimusInt(range1, choice[2]);
        if(result2!=null){
        out.println(result2);%><input type="text" class=daan name="text<%=i%>"></input><br/><%
        }
        else i--;
        break;
    case 3:
        String result3=ways.multiplyInt(range1, choice[0]);
        if(result3!=null){
            out.println(result3);%><input type="text" class=daan name="text<%=i%>"></input><br/><%
        }
        else i--;
        break;
    case 4:
        String result4=ways.divideInt(range1, choice[0],choice[3]);
        if(result4!=null){
            out.println(result4); %><input type="text" class=daan name="text<%=i%>"></input><br/><%
        }
        els

以上是关于软件工程结对作业01的主要内容,如果未能解决你的问题,请参考以下文章

软件工程网络15结对编程作业

软件工程结对作业01

软件工程结对作业01

软件工程结对作业01

软件工程结对作业01

软件工程结对作业01