<%@ page contentType="text/html;charset=GB2312" %> <!-- jsp指令标签 -->
<html>
<head>
<title>梯形面积的计算</title>
</head>
<body>
<%! public class square //面积计算函数代码
{
double u;
double d;
double h;
square(double u,double d,double h)
{
this.u=u;
this.d=d;
this.h=h;
}
double area()
{
return (u+d)*h/2;
}
}
%><%
request.setCharacterEncoding("gb2312");
String u=request.getParameter("up"); //以字符串形式获取从客户端传来的梯形上底参数的值;
String d=request.getParameter("down"); //以字符串形式获取从客户端传来的梯形下底参数的值;
String h=request.getParameter("height"); //以字符串形式获取从客户端传来的梯形高参数的值;double up=10; //将up参数初始化;
double down=20; //将down参数初始化;
double height=30; //将height参数初始化;if(u!=null)
{
up=Double.valueOf(u).doubleValue(); //如果从页面text文本框传来的参数的值不为空,则把它的值赋值给up;
}
else if(d!=null)
{
down=Double.valueOf(d).doubleValue(); //如果从页面text文本框传来的参数的值不为空,则把它的值赋值给down;
}
else if(h!=null)
{
height=Double.valueOf(h).doubleValue();//如果从页面text文本框传来的参数的值不为空,则把它的值赋值给height;
}
else
{
//out.print("<p>数据值不能小于等于0或者为空,请重新输入:");
}
square cc=new square(up,down,height);
%><form name="frm">
<p>请输入梯形的上地:<br>
<input type="text" name="up">
<p>请输入梯形的下地:<br>
<input type="text" name="down">
<p>请输入梯形的高:<br>
<input type="text" name="height">
<p>梯形的面积:
<input type="text" name="result"><p><input type="button" value="计算面积" onclick="result.value=<%=cc.area()%>;">
</form></body>
</html>
各位大哥,帮小弟看看这段代码出了什么问题了,为什么在面积文本框内不能输出输出我想要的答案,而是0啊???但是如果把double up=0,down=0,height=0不初始化的话,代码又出现错误,求教育求教导
<html>
<head>
<title>梯形面积的计算</title>
</head>
<body>
<%! public class square //面积计算函数代码
{
double u;
double d;
double h;
square(double u,double d,double h)
{
this.u=u;
this.d=d;
this.h=h;
}
double area()
{
return (u+d)*h/2;
}
}
%><%
request.setCharacterEncoding("gb2312");
String u=request.getParameter("up"); //以字符串形式获取从客户端传来的梯形上底参数的值;
String d=request.getParameter("down"); //以字符串形式获取从客户端传来的梯形下底参数的值;
String h=request.getParameter("height"); //以字符串形式获取从客户端传来的梯形高参数的值;double up=10; //将up参数初始化;
double down=20; //将down参数初始化;
double height=30; //将height参数初始化;if(u!=null)
{
up=Double.valueOf(u).doubleValue(); //如果从页面text文本框传来的参数的值不为空,则把它的值赋值给up;
}
else if(d!=null)
{
down=Double.valueOf(d).doubleValue(); //如果从页面text文本框传来的参数的值不为空,则把它的值赋值给down;
}
else if(h!=null)
{
height=Double.valueOf(h).doubleValue();//如果从页面text文本框传来的参数的值不为空,则把它的值赋值给height;
}
else
{
//out.print("<p>数据值不能小于等于0或者为空,请重新输入:");
}
square cc=new square(up,down,height);
%><form name="frm">
<p>请输入梯形的上地:<br>
<input type="text" name="up">
<p>请输入梯形的下地:<br>
<input type="text" name="down">
<p>请输入梯形的高:<br>
<input type="text" name="height">
<p>梯形的面积:
<input type="text" name="result"><p><input type="button" value="计算面积" onclick="result.value=<%=cc.area()%>;">
</form></body>
</html>
各位大哥,帮小弟看看这段代码出了什么问题了,为什么在面积文本框内不能输出输出我想要的答案,而是0啊???但是如果把double up=0,down=0,height=0不初始化的话,代码又出现错误,求教育求教导
2.对表单项的完整性判断改为 if(u!=null && !"".equals(u)) 建议你把按钮的type属性改为submit。onclick这个函数就没有必要调用了。
<input type="text" name="result" value="<%=cc.area()%>">
其实不用这么麻烦,直接一个JS计算就搞定了。
<form name="frm">
<p>请输入梯形的上地:<br>
<input id="u" type="text" name="up">
<p>请输入梯形的下地:<br>
<input id="d" type="text" name="down">
<p>请输入梯形的高:<br>
<input id="h" type="text" name="height">
<p>梯形的面积:
<input id="area" type="text" name="result"><p><input type="button" value="计算面积" onclick="calculateArea()">
</form>function calculateArea(){
var u = document.getElementById("u");
var d = document.getElementById("d");
var h = document.getElementById("h");
var area = (u+d)*h/2;
var areaText = document.getElementById("area");
areaText .value = area;
}
}