Java 矩形类面积/周长输出0

当我运行 Rectangle.java 时,我可以获得矩形中输入的长度和宽度,但是当我尝试使用 getter 计算面积/周长时,结果为零


我尝试添加和删除 setter,在 getArea 和 getPerimeter 中放入 getter/setter 方法,但似乎没有任何效果


//Code provided by the teacher as a template 

Rectangle temp = new Rectangle();

        temp.print();

        System.out.println();


        temp.setLength(2.5);

        temp.setWidth(3.0);

        //Consider how your rectangle will change after setting the length and width to specific values.

        temp.print();


        System.out.println();


        Rectangle r = new Rectangle(3.5,2);

        r.print();





//My Class


public class Rectangle 

{

    private static double length;

    private static double width;

    private static double perimeter;

    private static double area;


    public Rectangle(double length, double width)

    {

        setLength(length);

        setWidth(width);

    }


    public Rectangle()

    {


    }


    public static double getLength() 

    {

        return length;

    }

    public static void setLength(double length) 

    {

        Rectangle.length = length;

    }

    public static double getWidth() 

    {

        return width;

    }

    public static void setWidth(double width)

    {

        Rectangle.width = width;

    }   

    public static double getPerimeter(double length, double width) 

    {

        return 2*width+2*length;

    }


    public static double getArea(double length, double width) 

    {

        area= getLength()*getWidth();

        return length*width;

    }



    public static String print() 

    {

        String Rectangle = new String();

        System.out.println("This rectangle has a length of "+length+" and a width of "+width);

        System.out.println("The area of the rectangle is: "+ area);

        System.out.println("The perimeter of the rectangle is: "+ perimeter);

        return Rectangle;


    }

}

没有错误消息。


输出:


该矩形的长度为 0.0,宽度为 0.0 矩形的面积为: 0.0 矩形的周长为: 0.0


该矩形的长度为 2.5,宽度为 3.0 矩形的面积为: 0.0 矩形的周长为: 0.0


该矩形的长度为 3.5,宽度为 2.0 矩形的面积为: 0.0 矩形的周长为: 0.0


扬帆大鱼
浏览 107回答 1
1回答

慕盖茨4494581

您需要更改打印方法并调用周长和面积方法,以便这些变量获得所需的值 public static String print() {    getPerimeter(length,width);    getArea(length,width);    String Rectangle = new String();    System.out.println("This rectangle has a length of "+length+" and a width of "+width);    System.out.println("The area of the rectangle is: "+ area);    System.out.println("The perimeter of the rectangle is: "+ perimeter);    return Rectangle;}我建议不要使用静态关键字,因为值不会绑定到对象
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java