【发布时间】:2015-03-11 02:56:07
【问题描述】:
我正在尝试编写“计算”按钮以按年份将未来值输出到列表模型中。我需要“修改计算按钮的 actionPerformed 事件,以便它不计算单个值,而是计算每年的未来值 tp 通过组合框选择的年份,并将显示每年计算的字符串添加到列表。”现在它运行良好,但跳过第一年并将第二年输出为 0$。
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
if (isValidData())
{
double p = Double.parseDouble(monthlyPaymentTextField.getText());
double r = Double.parseDouble(yearlyRateTextField.getText());
int y = numberofyears.getSelectedIndex();
NumberFormat currency = NumberFormat.getCurrencyInstance();
DefaultListModel alm = new DefaultListModel();
jList1.setModel(alm);
for(int i = 0; i < y; i++)
{
double fv = FinancialCalculations.calculateFutureValue(p, r, i);
alm.addElement(currency.format(fv));
}
}
}
如果有帮助,这里是财务计算代码:
package murach.business;
public class FinancialCalculations
{
public static final int MONTHS_IN_YEAR = 12;
public static double calculateFutureValue(double monthlyPayment,
double yearlyInterestRate, int years)
{
int months = years * MONTHS_IN_YEAR;
double monthlyInterestRate = yearlyInterestRate/MONTHS_IN_YEAR/100;
double futureValue = 0;
for (int i = 1; i <= months; i++)
{
futureValue = (futureValue + monthlyPayment) *
(1 + monthlyInterestRate);
}
return futureValue;
}
}
【问题讨论】:
-
您对代码的哪个特定部分有疑问?这看起来像是您的教授为您提供的通用框架;到目前为止,您对它做了什么?
-
calculateButtonActionPerformed。我需要更改代码,以便它将每年的未来值输出到列表模型中。它被设置为在一开始只输出一个答案。我只是不确定如何对其进行编码以将正确的信息输出到列表中。
标签: java defaultlistmodel