2017-10-17 8 views
1

setとgetを使ってStringの色とint半径を使用して円の色と面積を記述するプログラムを作成しようとしています。例として緑色の& 10を使用してください。Javaのサークルの色と半径を変更するには


public class Circle 
{ 
    private String color; 
    private int radius; 

    public Circle() { 
     color = "null"; 
     radius = 0; 
    } 

    public Circle (String setColor, int setRadius) { 

    } 

    public void setRadius (int radius) { 
     this.radius = radius; 
    } 

    public void setColor(String color) { 
     this.color = color; 
    } 

    public int getRadius(){ 
     return radius; 
    } 
    public String getColor(){ 
     return color; 
    } 

    public void printInfo(String setColor, int setRadius) { 
     double area = Math.PI * this.radius * this.radius; 
     System.out.printf("The " + "%s" + " circle has area " + "%.2f", 
     this.radius, area); 
    } 

} 

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

     Circle circle = new Circle("green", 10); 

     circle.printInfo(); 
    } 
} 

"circle.printInfo();":ここで私はこれまで持っているものですエラーがあり、なぜ私は確信していません。まだまだかなり新しいので、どんな助けもありがとうございます。ありがとう!

答えて

0

引数を取るコンストラクタでは、サークルを定義するコードを含めるのを忘れていました。今、あなたが情報を渡したとしても、未定義の変数を持つ円を作成します。解決方法:

public Circle (String color, int radius) { 
    this.setRadius(radius); 
    this.setColor(color); 
} 

を私はあなたが、コンストラクタ内の引数はあなたが作成したメソッドの代わりをしたと思っていますが、代わりに、メソッドと同じ名前のローカル変数を作成し、定義していると信じています。

希望すると便利です。あなたを混乱させるものにコメントする。

関連する問題