プログラミング(javaのクラス)について質問があります。

投稿者: Anonymous

独習にのっているコードどおりに記述したはずなのですが実行できません。
コードは

class Circle{
    double x;
    double y;
    double radius;

    Circle(double x){
        this (x, 0, 1);
    }
    Circle(double x, double y){
        this(x, y, 1);
    }
    Circle(double x , double y, double radius){
        this.x      = x;
        this.y      = y;
        this.radius = radius;
    }
}
class CircleThis{
    public static void main(String args[]){
        Circle c = new Circle(1.1, 3.4 , 10);
        System.out.println("c.x      = " + c.x);
        System.out.println("c.y      = " + c.y);
        System.out.println("c.radius = " + c.radius);
    }
}

実行したら
エラー:メイン・メソッドがクラスCircleでみつかりません。次のようにメイン・メソッドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります。
とでます。
本ではこのとおりに乗っているのですがなにがいけないのでしょうか。
よければこういった問題点を理解するのに足りていない知識も踏まえて教えていただけると
幸いです。
よろしくおねがいいたします。

解決

ソースを記述したファイルがCircle.javaで次のようにコンパイルしたとすると、
javac Circle.java
同じフォルダにCircle.classCircleThis.classができているはずです。
エラーメッセージは
java Circle
のように実行しようとしているためで、
mainが存在するのは、CircleThis クラスの方ですから
java CircleThis
のように実行します。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *