修改增加正方形长度的代码?

时间:2017-10-07 23:43:54

标签: java methods

此代码包含一些逻辑错误,但我发现它们并根据这些逻辑错误更改代码时遇到问题

writeDump(newCal.getTimezone());

程序应该根据边长计算面积,然后增大正方形。它使边长加倍。该区域将以我现在设置的方式随新尺寸变化吗?还有其他任何逻辑错误吗?

由于

1 个答案:

答案 0 :(得分:1)

除非您已对程序进行编程,否则程序中不会发生任何事情。你有两个选择。第一个是您始终同时指定clientsideLength。由于您不希望代码重复,并且由于您无法再次调用构造函数,因此最好在单独的方法中执行此操作:

area

第二个选项是始终按需计算区域而不存储它。由于计算简单快速,这是一个很好的选择:

public class Square {
    private int sideLength;
    private int area;

    public Square(int initialLength) {
        setSideLength(initialLength);
    }

    // Separate method to update sideLength and area together.
    private void setSideLength(int sideLength) {
        this.sideLength = sideLength;
        this.area = sideLength * sideLength;
    }

    public void grow() {
        setSideLength(2 * sideLength);
    }