Hello,

I am unable to display the correct format. I have tried everything this is how I need the code to display:

  Portfolio #00001, ASD = 42.50, DFAS = 45.00, CAC = 22.20, BDM = 52.50
  Portfolio #00002, ASD = 42.50, DFAS = 45.00, CAC = 22.20, BDM = 52.50
  Portfolio #00001, ASD = 43.35, DFAS = 45.90, CAC = 22.64, BDM = 53.55
  Portfolio #00002, ASD = 43.35, DFAS = 45.90, CAC = 22.64, BDM = 53.55
  Portfolio #00001, ASD = 41.18, DFAS = 43.61, CAC = 21.51, BDM = 50.87
  Portfolio #00002, ASD = 41.18, DFAS = 43.61, CAC = 21.51, BDM = 50.87
  Portfolio #00001, ASD = 43.65, DFAS = 46.22, CAC = 22.80, BDM = 53.92
  Portfolio #00002, ASD = 43.65, DFAS = 46.22, CAC = 22.80, BDM = 53.92

And this is how my code is displaying:

Portfolio #00001, ASD = 42.50, 
Portfolio #00001, DFAS = 45.00, 
Portfolio #00001, CAC = 22.20, 
Portfolio #00001, BDM = 52.50, 
Portfolio #00002, ASD = 42.50, 
Portfolio #00002, DFAS = 45.00, 
Portfolio #00002, CAC = 22.20, 
Portfolio #00002, BDM = 52.50, 

this is the code:

   public void display() {
    for (Map.Entry<String, Double> entry : priceMap.entrySet()) {
        System.out.printf("\nPortfolio #%s, " + "%s = " + "%.2f, ",
                ticker, entry.getKey(), entry.getValue());
    }
}    

Please help, why are they going to a new line after the second entry.

What you are getting on the screen is what you actually told the code to do.
Look at:
System.out.printf("\nPortfolio #%s, " + "%s = " + "%.2f, ",....);
As you can see, there are: Two %s (string) and One %.2f (float)
What you want is:
System.out.printf("\nPortfolio #%s, %s = %.2f, %s = %.2f, %s = %.2f, %s = %.2f",....);
Don't forget to add the 6 additional arguments.

This article has been dead for over six months. Start a new discussion instead.