0

プログラムに問題があり、考えた理由がわかりません。public static void main(String[] args)それは他のどこにもない行を指していて、それを理解することはできません:(中括弧をチェックしようとしました.偶然に1つまたは2つ見逃したが、それでもいいえの場合、それはインターフェイスの実装ではないため、各メソッドを設定する必要はありません実装で公開する抽象クラスの...

abstract class Shape {

private String name;

Shape(String name0) {name = name0;}

abstract double area(); 

abstract double perim();

void put() { 
    System.out.println(name + " with area " + area()+ " and perimeter " + perim());
   }
}

class Circle extends Shape{
private double r;

Circle(String name0, double inR) {
    super(name0);
    r = inR;
}

double area() {
    return (Math.sqrt(r)*Math.PI);
}

double perim() {
    return 2*(Math.PI * r);
}   
}

class Rectangle extends Shape{
private double a,b;

Rectangle(String name0, double a0, double b0) {
    super(name0);
    a=a0; b=b0;
}

double area() {
    return (a*b);
}

double perim() {
    return 2*(a+b);
}
}

}

class TestClass {
    public static void main(String args[]) {


    Shape[] figures = {new Rectangle("Rectangle", 2.0, 3.0), new Rectangle("Square", 4.0, 4.0), new Circle("Circle", 2.0)};
    for (Shape s: figures) 
            s.put();
}
}
4

1 に答える 1

1

}main メソッドの前に追加の閉じ中括弧があります。それを取り除くだけです。

提案: IDE を使用してコーディングを行うことは、これらのコンパイル エラーを簡単かつ迅速に回避できるため、非常に賢明です。

于 2013-11-08T03:04:55.597 に答える