2017-10-17 17 views
1

집합과 get을 사용하여 String 색상과 int 반지름을 사용하여 원의 색상과 면적을 나타내는 프로그램을 작성하려고합니다. 녹색 & 10을 예로 사용합니다.변이계와 접근자를 사용하여 자바에서 원의 색과 반경 설정


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); 
} 

을 당신이 만든 방법을 대신했다 생성자의 인수를 생각 생각하지만, 당신이 만드는 대신 메소드와 같은 이름의 지역 변수를 정의하고 있습니다.

희망이 도움이됩니다. 너를 혼란스럽게하는 것에 대한 논평.