1. ホーム
  2. java

[解決済み] 包含するインスタンスにアクセスできない。型の包含するインスタンスで割り当てを修飾する必要があります(例えば、x.new A()、ここでxはのインスタンスです) [重複]。

2022-02-18 22:25:11

質問

私はプログラミング初心者で、来年からユニバーシティでプログラミングを勉強する予定です。私の public static void main ... で 新しいSimpleCircleを作成することができません。このエラーは私のサークルのみで発生します。このような場合、どうすればよいでしょうか?:)

public class TestSimpleCircle {

    class SimpleCircle {
        double radius;

        SimpleCircle(){
            radius = 1;
        }

        SimpleCircle(double newRadius){
            radius = newRadius;
        }

        double getArea() {
            return radius * radius * Math.PI;
        }

        double getPerimeter() {
            return 2 * radius * Math.PI;
        }

        void setRadius(double newRadius) {
            radius = newRadius;
        }
    }

    public static void main(String [] args) {
        SimpleCircle circle = new SimpleCircle();
        System.out.println("the area of the circle of radius "+circle.radius+" is "+circle.getArea());

        SimpleCircle circle2 = new SimpleCircle(25);
        System.out.println("the area of the circle of radius "+circle2.radius+" is "+circle2.getArea());

        SimpleCircle circle3 = new SimpleCircle(125);
        System.out.println("the area of the circle of radius "+circle3.radius+" is "+circle3.getArea());

        circle.radius = 100;
        System.out.println("The area of the circle of radius "+circle.radius+" is "+circle.getArea());
    }
}

解決方法は?

SimpleCircleクラスをTestSimpleCircleの内部クラスとして宣言しています。 それを別のファイルに移動するか、またはそれを

static class SimpleCircle