[英]How do I pass these variables from different methods in to other methods
我正在自己学习Java,并且我正在尝试这段代码。
要求如下:
void setDimensions(double w, double h)
字段的Rectangle类,以及一个将其参数值分配给这些字段的void setDimensions(double w, double h)
方法。 getArea()
和double getPerimeter()
来计算并返回矩形的面积和周长,并使用mutator(“ setter”)方法void scale(double sf)
将矩形的宽度和高度乘以比例因子sf。 通过在您的类中编写适当的toString方法来完成。
public class Rectangle { double width; double length; /** */ public void setDimensions(double width, double length) { width = 5; length = 10; } /* */ public static double getPerimeter(double width, double length) { double perimeter = 2 * (width + length); return perimeter; } /* */ public static double getArea(double width, double length) { double area = (width * length); return area; } /** * */ public void scale(double sf) { sf *= length; sf *= width; } public String toString() { System.out.println("The length is: " + length); System.out.println("The width is: " + width); getArea(width, length); getPerimeter(width, length); return "The area is:" + area; return "The perimeter is:" + perimeter; }
}
话虽如此,我对如何格式化toString方法感到困惑。 这个toString方法只是应该打印出面积,周长,sf等值吗? 还是我应该返回某种字符串(对不起,我是新手,我并不完全了解)。另外,我不认为我的SF方法可以正常工作。 该方法应该在方法中初始化SF吗?
谢谢
通常,toString方法是人类可读的字符串,用于输出对象的属性/值。
@Override
public String toString() {
String myStr= "{length: " + getLength() + ", width: " + getWidth() +
", perimiter: " + getPerimiter() + ", area: " + getArea() + "}";
return myStr;
}
// will output something like "{length: 2, width: 3, perimiter: 10, area: 6}"
同样,缩放方法应通过提供作为参数的因子来增加长度和宽度。
public void scale(double sf)
{
length *= sf;
width *= sf;
}
// better to create getters and setters and use these.
public void setLength(ln){
this.length = ln;
}
public double getLength(){
return this.length;
}
// same for width, then...
public void scale(double sf){
setLength(getLength()*sf);
setWidth(getWidth()*sf);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.