gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:50:30 26 4
gpt4 key购买 nike

当我运行 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

最佳答案

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

 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;

}

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

关于Java 矩形类面积/周长输出0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58459419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com