Java矩形类区域/周长输出0

Java矩形类区域/周长输出0,java,getter-setter,Java,Getter Setter,当我运行my Rectangle.java时,我可以得到矩形中输入的长度和宽度,但是当我试图用getter计算面积/周长时,结果是零 我试图添加和删除setter,将getter/setter方法放在getArea和getPermission中,但似乎没有任何效果 //Code provided by the teacher as a template Rectangle temp = new Rectangle(); temp.print(); System.

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

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

//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

您需要更改打印方法并调用周长和面积方法,以便这些变量获得所需的值

 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;

}

我建议不要使用静态关键字,因为这些值不会绑定到对象

您能给出完整的矩形类吗?按要求添加完整的矩形类。我是新来这里的,上面写着“重要部分”。真的有那么明显吗?!多谢各位ⵍⵢⴻⵙ. 问题结束。我是个新手,所以容易犯愚蠢的错误。
stringrectangle=newstring()
。我建议您更改此变量的名称,这非常令人困惑。我已经从其中一条评论中找到了一个简单的问题,但我将继续阅读此线程,以获得良好的编码实践,因为我想成为真正的优秀