<%@page contentType="text/html" %>
<%@page 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>Triangle</title>
    </head>
    <body>    <form>
    <p>第一条边:<input type="text" name="side0">
    <p>第二条边:<input type="text" name="side1">
    <p>第三条边:<input type="text" name="side2">
    <input type="submit" name="submit">
    <%  String s0=request.getParameter("side0");
        String s1=request.getParameter("side1");
        String s2=request.getParameter("side2");
        
        if(s0==null)s0="1";
        if(s1==null)s1="1";
        if(s2==null)s2="1";
       try{ 
             Int a=Integer.parseInt(s0);
             Int b=Integer.parseInt(s1);
             Int c=Integer.parseInt(s2);
             
             double d=(double)((a+b+c)/2);
             double result=Math.sqrt(d*(d-a)*(d-b)*(d-c));
             }
       catch(NumberFormatException e){ 
           out.print("qing ");}    
           
        out.print(result);       
        %>
    </form>
    </body>
</html>
上面是我写的一个求三角形面积的jsp,有错误不知道怎么改

解决方案 »

  1.   

    恩。E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:55: 警告:编码 GBK 的不可映射字符
          out.write("    <p>绗竴鏉¤竟锛?input type=\"text\" name=\"side0\">\n");
                                   ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:56: 
    警告:编码 GBK 的不可映射字符
          out.write("    <p>绗簩鏉¤竟锛?input type=\"text\" name=\"side1\">\n");
                                   ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:57: 
    警告:编码 GBK 的不可映射字符
          out.write("    <p>绗笁鏉¤竟锛?input type=\"text\" name=\"side2\">\n");
                                   ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:68: 找不到符号
    符号: 类 Int
    位置: 类 org.apache.jsp.index_jsp
                 Int a=Integer.parseInt(s0);
                 ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:69: 找不到符号
    符号: 类 Int
    位置: 类 org.apache.jsp.index_jsp
                 Int b=Integer.parseInt(s1);
                 ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:70: 找不到符号
    符号: 类 Int
    位置: 类 org.apache.jsp.index_jsp
                 Int c=Integer.parseInt(s2);
                 ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:72: 运算符 / 不能应用于 java.lang.String,int
                 double d=(double)((a+b+c)/2);
                                          ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:72: 不可转换的类型
    找到: <any>
    需要: double
                 double d=(double)((a+b+c)/2);
                                  ^
    E:\study\Java\MyWeb\build\generated\src\org\apache\jsp\index_jsp.java:78: 找不到符号
    符号: 变量 result
    位置: 类 org.apache.jsp.index_jsp
            out.print(result);
                      ^
    6 错误
      

  2.   

    1、Int 应为int
    2、double result你所定义的位置为内部变量,不能被try{}以外使用,更改如下:
    double result放在try的上一行
    result = Math.sqrt(....)
    改一下试试
      

  3.   

    更改后的代码如下:
    <%@page contentType="text/html" %>
    <%@page 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>Triangle</title>
        </head>
        <body>    <form>
        <p>第一条边:<input type="text" name="side0">
        <p>第二条边:<input type="text" name="side1">
        <p>第三条边:<input type="text" name="side2">
        <input type="submit" name="submit">
        <%  String s0=request.getParameter("side0");
            String s1=request.getParameter("side1");
            String s2=request.getParameter("side2");
            
            if(s0==null)s0="1";
            if(s1==null)s1="1";
            if(s2==null)s2="1";
            double result=0;
            try{ 
                int a=Integer.parseInt(s0);
                int b=Integer.parseInt(s1);
                int c=Integer.parseInt(s2);
                
                double d=(double)((a+b+c)/2);
                result=Math.sqrt(d*(d-a)*(d-b)*(d-c));
            }catch(NumberFormatException e){ 
               out.print("qing ");
            }    
               
            out.print(result);       
            %>
        </form>
        </body>
    </html>
      

  4.   

    <%@ page contentType="text/html; charset=GBK" pageEncoding="UTF-8"%>
    Int-> int
    /不能用这个有点奇怪,你试试用0.5*吧.
    result定义为try的局部变量不能在try外用,
    你先试着改吧,我虽然做过jsp但是不怎么喜欢jsp,可能有不对的地方,错了再说