문제

그래서 반경을 설정하는 원 클래스를 만들었고 반경, 둘레 및 면적을 출력해야하지만 반경, 반경, 둘레, 면적이 다시 출력되지 않으면 0.0으로 내 Circle.java를 표시합니다.

public class Circle
{
    private double radius;
    private double PI = 3.14159;

    public void setRadius(double rad)
    {
            radius = rad;
    }

    public double getRadius()
    {
            return radius;
    }

    public double getArea()
    {
            return PI * radius * radius;
    }

    public double getDiameter()
    {
            return 2 * radius;
    }

    public double getCircumference()
    {
            return 2 * PI * radius;
    }

}

그리고 Heres circledemo.javahttp://pastie.org/466414-여기서는 잘 나오지 않았습니다

먼저 반경을 입력하지만 주위, 면적을 호출하면 0.0을 출력합니다.

도움이 되었습니까?

해결책

단계별로 프로그램 실행을 진행합시다. 먼저 일부 변수를 초기화 한 다음 스캐너 개체를 만듭니다. 다음으로, 당신은 a while 고리. 루프 내부에 메인 메뉴가 표시되고 키보드에서 입력을 읽고, 새 원 객체를 만듭니다, 그런 다음받은 입력을 처리합니다. 그리고 당신은 계속해서 그렇게합니다 flag 설정되었습니다 false,이 경우 프로그램이 종료됩니다.

여기에 이상한 것이 있습니까?

변수는 선언 된 범위 안에만 존재하며 원 객체가 선언되었습니다. 내부에 while 루프. 타운 루프의 본문이 나타납니다 하나의 반복 While Loop의. 따라서 본질적으로 원 객체가 계속해서 재창조되고 있습니다. setRadius() 효과가 없습니다.

다른 팁

While Loop 외부에서 Circle Object Instance (예 : Code Circle One = New Circle ())을 만듭니다. 루프의 모든 반복으로 인해 객체가 새로운 상태 (즉, 새로운 반경)로 재창조됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top