簡體   English   中英

JAVA-答案不是根據輸出計算的嗎?

[英]JAVA - Answers are not calculating upon output?

做一個我認為對AP來說非常簡單的輸出實驗室,我以為我做的一切都正確,但是當“ 0.0”應該是時,輸出一直顯示為“該區域為::” + 0.0”。圓的計算面積,這是兩個類別:

圈子類別:

public class Circle
{
    private double radius;
    private double area;

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

    public void calculateArea( )
    {
        area = (3.14159*(radius*radius));
    }

    public void print( )
    {
       System.out.println("The area is :: " + area);
    }
}

圓跑選手班:

public class CircleRunner
{
    public static void main( String[] args )
   {
        Circle test = new Circle ( );
        test.setRadius(7.5);
        test.calculateArea( );
        test.print( );

        test.setRadius(10);
        test.calculateArea( );
        test.print( );

        test.setRadius(72.534);
        test.calculateArea( );
        test.print( );

        test.setRadius(55);
        test.calculateArea( );
        test.print( );
    }
}

謝謝!

您的設置器有誤,因此您的半徑保持為0,應為

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

您正在以相反的順序分配變量。 它應該是:

radius = rad;

並不是:

rad = radius;

您需要使用它在setRadius方法中引用半徑。 或交換兩個值。 您應將“ rad”分配給“ radius”,而不是反之,因為您將從該方法中接收rad。

public class Circle {
    private double radius;
    private double area;

    public  Circle() {
    }

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

    public void calculateArea() {
        area = (3.14159*(radius*radius));
    }

    public void print() {
        System.out.println("The area is :: " + area);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM