注册 登录
编程论坛 J2EE论坛

一段计算加减乘除的编码能运行 为什么不能计算 ??

earthsurface 发布于 2009-09-16 22:26, 1061 次点击
<html>
<head>
<title></title>
<%@ page contentType="text/html;chraset=gb2312" language="java" errorPage="" %>
</head>
<body>
<%
int result=0;
String num1,num2;
    num1=request.getParameter("x");
    num2=request.getParameter("y");
String value=request.getParameter("select");
if(value=="+")
{result=Integer.parseInt(num1)+Integer.parseInt(num2);}
else if(value=="-")
{result=Integer.parseInt(num1)-Integer.parseInt(num2);}
else if(value=="*")
{result=Integer.parseInt(num1)*Integer.parseInt(num2);}
else if(value=="/")
{result=Integer.parseInt(num1)/Integer.parseInt(num2);}

%>
<form method="post" action="mains.jsp">
<input type="text" name="num1" value="">
<select name="select">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="num2" value="">
<input type="submit" value="=" >
<%=result%>
</form>
</body>
</html>


    跪求答案  希望哪位大哥大姐 能帮忙解决
7 回复
#2
learnerboy2009-09-17 16:04
字符串比较要用equals,改成这样
if("+".equals(value))
{result=Integer.parseInt(num1)+Integer.parseInt(num2);}
else if("-".equals(value))
{result=Integer.parseInt(num1)-Integer.parseInt(num2);}
else if("*".equals(value))
{result=Integer.parseInt(num1)*Integer.parseInt(num2);}
else if("/".equals(value))
{result=Integer.parseInt(num1)/Integer.parseInt(num2);}
#3
earthsurface2009-09-17 23:15
哦 谢谢了....非常非常谢谢
#4
lampeter1232009-09-18 08:13
同意二楼的T-MAC
#5
earthsurface2009-09-18 21:13
<html>
<head>
<title></title>
<%@ page contentType="text/html;chraset=gb2312" language="java"   
errorPage="" %>
</head>
<body>
<form method="post" action="">
<input type="text" name="num1" value="0">
<select name="selectvalue">
<option value="01">+</option>
<option value="02">-</option>
<option value="03">*</option>
<option value="04">/</option>
</select>
<input type="text" name="num2" value="0">
<input type="submit" name="submit" value="=" >
</form>
<%
int sum;
String num1=request.getParameter("num1");
String num2=request.getParameter("num2");
String selectvalue=request.getParameter("selectvalue");
if(selectvalue.equals("01"))  
{
sum=Integer.parseInt(num1)+Integer.parseInt(num2);
}  
if(selectvalue.equals("02"))  
{
sum=Integer.parseInt(num1)-Integer.parseInt(num2);
}  
if(selectvalue.equals("03"))  
{
sum=Integer.parseInt(num1)*Integer.parseInt(num2);
}  
if(selectvalue.equals("04"))  
{
sum=Integer.parseInt(num1)/Integer.parseInt(num2);
}  
 out.print(sum);
%>
</body>
</html>
我试过了 还是不能运行....我现在改成这样了 还是不行  哪位高手 能再帮帮忙?
#6
lampeter1232009-09-19 08:35
原因是你提交到自身页面时,所有变量都重新初始化,提交的值都丢失了,你试下将结果提交到另一个页面

[ 本帖最后由 lampeter123 于 2009-9-19 08:38 编辑 ]
#7
learnerboy2009-09-19 14:24
当你第一次打开页面的时候,String selectvalue=request.getParameter("selectvalue"); 你这样写,selectvalue是为null的,它是不能跟字符串做比较的,也就是不能写成这样:selectvalue.equals("01"),所以,你要判断一下它是否为null,写成这样就好了
<%@ page contentType="text/html;chraset=gb2312" language="java"   
errorPage="" %>  
 
<%
            int sum=0;
            String num1 = request.getParameter("num1");
            String num2 = request.getParameter("num2");
            String selectvalue = request.getParameter("selectvalue");
            if(selectvalue!=null){
                if (selectvalue.equals("01")) {
                    sum = Integer.parseInt(num1) + Integer.parseInt(num2);
                }
                if (selectvalue.equals("02")) {
                    sum = Integer.parseInt(num1) - Integer.parseInt(num2);
                }
                if (selectvalue.equals("03")) {
                    sum = Integer.parseInt(num1) * Integer.parseInt(num2);
                }
                if (selectvalue.equals("04")) {
                    sum = Integer.parseInt(num1) / Integer.parseInt(num2);
                }
            }
            out.print(sum);
        %>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title></title>
    </head>
    <body>
        <form method="post" action="#">
            <input type="text" name="num1" value="">
            <select name="selectvalue">
                <option value="01">
                    +
                </option>
                <option value="02">
                    -
                </option>
                <option value="03">
                    *
                </option>
                <option value="04">
                    /
                </option>
            </select>
            <input type="text" name="num2" value="">
            <input type="submit" name="submit" value="=">
        </form>
    </body>
</html>
#8
earthsurface2009-09-19 14:44
哇  兄弟 太感谢你了 终于运行了...
1