0

如果有人可以提供帮助,我无法弄清楚我的代码有什么问题,为什么它告诉我这个?它在 toString 方法中给了我一个错误......为什么它让我插入枚举主体和标识符?谢谢你

  import java.lang.String;

  public class Circle extends Shape {
  private double radius;

  public Circle( double theRadius ){
    super();
    if ( theRadius <= 0.0 )
        setRadius( Shape.DEFAULT_SIZE );
    else
        setRadius( theRadius );
}



public double getSurfaceArea(){

    return this.radius * this.radius * Math.PI;
}

public double getPeremeter(){
    ;
    return 2 * this.radius + Math.PI;
}

public double getRadius(){
    return this.radius;

}

public void setRadius( double theRadius ) {
    if( theRadius <= 0 )
        return;
    this.radius = theRadius;
}

@Override
public double getPerimeter() {
    // TODO Auto-generated method stub
    return 0;



     public String toString() {
         return "Circle Surface Area "+getSurfaceArea()+", Circle Peremeter "       +getPerimeter();
     }
}

@Override
public double getSizeAmount() {
    // TODO Auto-generated method stub
    return 0;
}
   }

主班

import javax.swing.JOptionPane;
 import java.text.DecimalFormat; 



 public class ShapeApp {


public static <RectangularPrism> void main(String[] args) {



    int x = 0;
    Triangle triangleObjects[] = new Triangle[ 3 ];

    triangleObjects[ 0 ] = new Rectangle("3.5","4.6");
    triangleObjects[ 1 ] = new Rectangle("3","2");

    triangleObjects[ 2 ] = new Circle(0);

    System.out.println( "List of all Shapes:\n" );
    do{
    try{
        for( Triangle currentTriangle : triangleObjects ) {
        String msg = currentTriangle.getSurfaceArea() +","+ currentTriangle.getPerimeter();
        JOptionPane.showMessageDialog(null, "Message", msg, JOptionPane.INFORMATION_MESSAGE);
        x=2;
    }

    }catch(Exception e) {

    }

}while(x==1);


    }


}

错误

  Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error on token "String", @ expected
Syntax error, insert "enum Identifier" to complete EnumHeaderName
Syntax error, insert "EnumBody" to complete BlockStatement

at Circle.getPerimeter(Circle.java:44)
at ShapeApp.main(ShapeApp.java:80)
4

2 回答 2

2

看你的getPerimeter方法:

@Override
public double getPerimeter() {
    // TODO Auto-generated method stub
    return 0;



     public String toString() {
         return "Circle Surface Area "+getSurfaceArea()+", Circle Peremeter "
              +getPerimeter();
     }
}

您正在尝试在方法中toString声明方法getPerimeter

代码的缩进应该给你一个提示——这就是为什么适当地缩进代码很重要的原因之一。你应该有:

@Override
public double getPerimeter() {
    // TODO Auto-generated method stub
    return 0;
}    

@Override
public String toString() {
    return "Circle Surface Area " + getSurfaceArea() + ", Circle Perimeter "       
        + getPerimeter();
}
于 2012-09-07T07:24:01.000 回答
0
@Override
public double getPerimeter() {
    // TODO Auto-generated method stub
    return 0;



     public String toString() {
         return "Circle Surface Area "+getSurfaceArea()+", Circle Peremeter "       +getPerimeter();
     }
}

应该分成两部分:

@Override
public double getPerimeter() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public String toString() {
             return "Circle Surface Area "+getSurfaceArea()+", Circle Peremeter "       +getPerimeter();
         }
于 2012-09-07T07:24:49.170 回答