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

コードのインデントは、それについてのヒントを与えるはずです。これが、コードを適切にインデントすることが重要である理由の1つです。あなたが持っている必要があります:

@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();
     }
}

2つに分ける必要があります:

@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 に答える