Grumme
Grumme

Reputation: 806

jList output everything on one line

I have created a program for calculating the interest on given values. But when i calculate it, the output on the jList comes out in one line, 10 times.

Can anyone help me, and tell me why this happens :)?

From my calculate class

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

´ From my GUI (Under the button)

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

I have also tried with:

for (String s : cal.calculateInterest(aar, rente, rente))
{
   myListModel.addElement(output);
}

But same issue. Here is a photo of the output - I what them to switch line between each number: enter image description here

Upvotes: 1

Views: 242

Answers (2)

Guille
Guille

Reputation: 1

That's because you are adding the entire ArrayList and not 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 }

Upvotes: 0

wero
wero

Reputation: 33010

You are adding the whole list instead of the element. Use

for (int i = 0; i < output.size(); i++) 
    myListModel.add(i, output.get(i));

Upvotes: 3

Related Questions