为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

扬帆大鱼 2023-11-10 15:21:01
当我运行 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 Classpublic 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
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

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


 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;


}

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


查看完整回答
反对 回复 2023-11-10
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信