使用循环计算双倍递减折旧

时间:2018-03-02 02:29:10

标签: java loops while-loop accounting

所以我必须提出一个使用双减法计算折旧的代码。

到目前为止,我得到了这段代码:

@Html.TextBox

}

输出看起来很好,直到最后一行的账面价值为7,776而不是残值为10,000。

这样的地雷: http://puu.sh/zyGzg/e35ccf0722.png

应该是这样的: http://puu.sh/zyGBM/4b6b8fa14c.png

请帮助,我真的被卡住了。

1 个答案:

答案 0 :(得分:0)

在你的while循环中,你需要测试新bookVal是否小于salvageVal,如果是,请使用salvageVal

while (bookVal > salvageVal){   // also change
    yearlyDepr = bookVal * (ddRate / 100);
    accDepr = accDepr + yearlyDepr;
    bookVal = bookVal - yearlyDepr;
    year++;

    if (bookVal < salvageVal) {
        bookVal = salvageVal;
        yearlyDepr = purchPrice - salvageVal;
    }

    System.out.printf("%d %,18.0f %,18.0f %,18.0f%n" , year, yearlyDepr, accDepr, bookVal);
}