<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<P>请输入圆的半径</p>
<BR>
<FORM name="form" action="" method=get>
<input type="text" name="input1" size="10">
<input type="SUBMIT" value="开始计算" name=submit>
</FORM>
<%!
 public class Circle{
 double r;
  Circle(double r){
   this.r=r;
 }
 public double getArea(){
   return Math.PI*r*r;
 }
 public double getPeremater(){
  return Math.PI*2*r;
 }
}
%>
<%
 String str=request.getParameter("input1");
 double r;
 if(str!=null)
 {
   r=Double.parseDouble(str);
 }
 else
 {
  r=1;
 }
Circle circle=new Circle(r);
%>
<p>圆面积是:
<BR>
<%=circle.getArea()%>
<p>圆周长是:
<BR>
<%=circle.getPeremater()%>
</body>
</html>
我想问一下,如果我把
%>
<%去掉为什么就运行不了,实际上,头和尾都没有改变啊,只是中间去掉而已,还希望高手指导

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wongshiang】截止到2008-07-07 22:09:46的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:40                       
    结贴的总数量:1                        结贴的总分数:0                        
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:2                        未结的总分数:40                       
    结贴的百分比:33.33 %               结分的百分比:0.00  %                  
    无满意结贴率:100.00%               无满意结分率:---------------------
    楼主该结一些帖子了
      

  2.   

    %> 
    <% 对啊,就算我把上面这两个去掉也不防碍啊
      

  3.   

    <%和<%! 不是一个东西,你不能和在一起的
      

  4.   

    说的详细一点,多谢了反正我知道<% %>之间是加入java程序片的
      

  5.   

    <%! %>最后会生成servlet的方法或属性的
      

  6.   

    <%@ page contentType="text/html;charset=GB2312" %> 
    <HTML> 
    <BODY> 
    <P>请输入圆的半径 </p> 
    <BR> 
    <FORM name="form" action="" method=get> 
    <input type="text" name="input1" size="10"> 
    <input type="SUBMIT" value="开始计算" name=submit> 
    </FORM> 
    <%! //这个标签也在啊public class Circle{ 
    double r; 
      Circle(double r){ 
      this.r=r; 

    public double getArea(){ 
      return Math.PI*r*r; 

    public double getPeremater(){ 
      return Math.PI*2*r; 


    String str=request.getParameter("input1"); 
    double r; 
    if(str!=null) 

      r=Double.parseDouble(str); 

    else 

      r=1; 

    Circle circle=new Circle(r); 
    %> //这个标签仍然再啊
    <p>圆面积是: 
    <BR> 
    <%=circle.getArea()%> 
    <p>圆周长是: 
    <BR> 
    <%=circle.getPeremater()%> 
    </body> 
    </html> 
    我的意思是程序如果是这样为什么就不行?我的方法和变量还是在<%! 和%>之间啊。 
      

  7.   

    这么说吧,如果有如下这段标准代码:
    <%!
      int a;
    %>
    <%
      int b;
      b=0;
    %>变成下面这种形式是可以的:
    <%
      int a;
      int b;
      b=0;
    %>而下面这个形式是错误的:
    <%!
      int a;
      int b;
      b=0;
    %>原因是<% %>之间可以放基本上任何java代码,除了import之类的语句和定义方法,错就错在b=0;这条语句不能放在<%! %>里面
    而<%! %>之间只可以放具有定义性质的语句,比如定义变量,或定义方法.两者不同之处在于<% %>内定义的变量是局部变量,也正因为是局部变量,所以这个变量是线程安全的,
    <%! %>之间定义的是实例变量,是非线程安全的.<% %>内不可以定义方法,<%! %>内可以定义方法.