<%@page contentType="text/html;charset=gb2412" language="java" %>
没有gb2412, 应该为gb2312,中文编码一种
<%! static int compareNum(int testval,int target)>
怎么多了个">"
elst写错 else
return result=0;
去掉=0; return result;
String s1=request.getParameter("textfield1");
String s2=request.getParameter("textfield2");
应该对应form的number1, number2
String s1=request.getParameter("number1");
String s2=request.getParameter("number2");
全:
<%@page contentType="text/html;charset=gb2312" language="java"%>
ex4_1 判断两个数大小 <%! static int compareNum(int testval,int target)
{
int result=0;
if(testval>target)
else if(testval
else
return result;
}
%>
<% int n1=0;%>
<% int n2=0;%>
<% String n3="";%>
<%
String s1=request.getParameter("number1");
String s2=request.getParameter("number2");
if((s1!=null)&&(s2!=null))
{
n1=Integer.parseInt(s1);
n2=Integer.parseInt(s2);
n3=new Integer(compareNum(n1,n2)).toString();
out.println("比较结果为:"+n3);
}
%>
PS:不输入直接按按钮,会报500错误
二问:
n3=new Integer(compareNum(n1,n2)).toString();
将n1,n2作为参数传入函数compareNum里,将返回的result包装成Integer对象,再将其值用用toString()转成字符串。这里因为要用toString(),所以要将返回的result变成Integer对象,如果改n3为int,直接调用函数就行了。(语言表达能力有限,见谅-_-!)
图中输出结果与这个是不一致的,就表现方式来说
图中有个“number2的值较大”,代码中都没有相关的字符串表示。代码用了“1”来代替
希望楼主再认真理解源代码
想要图中的一致,自己加代码吧。
以不怎么改原来代码为例:
<%
String s1 = request.getParameter("number1");
String s2 = request.getParameter("number2");
String s3 = "";
if ((s1 != null) && (s2 != null)) {
n1 = Integer.parseInt(s1);
n2 = Integer.parseInt(s2);
n3 = new Integer(compareNum(n1, n2)).toString();
if (n3.equals( "-1")) {
s3 = "number1的值较大";
} else if (n3.equals("1")) {
s3 = "numher2的值较大";
} else {
s3 = "";
}
out.println("比较结果为:" + s3);
}
%>
不过比较1和-1,用字符串来比较,个人感觉有点恶心。
个人建议如果不介意改多点原来的代码,还是将n3改成int再比较。
比较语句加在后面,还是compareNum,还是其他的改法,就自己喜欢吧。相等的情况的输出的内容请自己加入。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela