2017-10-17 69 views
1

我正在嘗試編寫一個程序,該程序使用字符串顏色和int半徑使用set和gets來指定圓的顏色和區域。作爲示例,使用綠色& 10。這是我到目前爲止有:使用Mutators和訪問器設置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

在帶參數的構造函數中,您忘記了包含定義Circle的代碼。現在,即使您傳遞了信息,您也會創建一個包含未定義變量的圓。如何解決:

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

我相信你想在構造函數中的參數佔了你創建的方法的地方,但你創建和定義具有相同名稱的替代方法的局部變量。

希望這會有所幫助!評論任何令你困惑的事情。