我创建了一个计算给定值的兴趣的程序。但是当我计算它时,jList上的输出会出现一行,10次。
任何人都可以帮助我,并告诉我为什么会发生这种情况:)?
从我的计算课
public ArrayList<String> calculateInterest(double years, double principal, double amount)
{
ArrayList<String> results = new ArrayList<>();
for (years = 1; years <= 10; years++)
{
amount = principal * Math.pow(rate + 1, years);
String amountToString = "" + amount;
results.add(amountToString);
}
return results;
}
“ 从我的GUI(按钮下)
double aar = Double.parseDouble(txtAntalAar.getText());
double belob = Double.parseDouble(txtBelob.getText());
double rente = Double.parseDouble(txtRente.getText());
ArrayList output = cal.calculateInterest(aar, belob, rente);
for (int i = 0; i < output.size(); i++)
{
myListModel.add(i, output);
}
我也尝试过:
for (String s : cal.calculateInterest(aar, rente, rente))
{
myListModel.addElement(output);
}
答案 0 :(得分:3)
您正在添加整个列表而不是元素。使用
for (int i = 0; i < output.size(); i++)
myListModel.add(i, output.get(i));
答案 1 :(得分:0)
那是因为你要添加整个ArrayList而不是de item。
for (String s : cal.calculateInterest(aar, rente, rente))
{
//myListModel.addElement(output); this way you add the entire array
myListModel.addElement(s); // now you add only the item
}