gpt4 book ai didi

java - 如何将这些变量从不同的方法传递到其他方法

转载 作者:行者123 更新时间:2023-12-01 09:28:50 24 4
gpt4 key购买 nike

我正在自学java,并且我正在尝试解决这个代码。

以下是要求:

  • 编写一个 Rectangle 类,它具有两个 double 字段 width 和 height,以及一个将其参数值分配给这些字段的方法 void setDimensions(double w, double h)
  • 然后,编写访问器(“getter”)方法 double getArea() 和 double getPerimeter() 来计算并返回矩形的面积和周长,以及一个赋值器(“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}"

此外,scale 方法应按参数提供的因子增加长度和宽度。

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);
}

关于java - 如何将这些变量从不同的方法传递到其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39624602/

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