2013-10-05 2 views
0

Я не могу отобразить правильный формат. Я попробовал все это, как мне нужен код для отображения:Невозможно отобразить правильный формат в Java

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 

И это, как мой код отображения:

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, 

это код:

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

Пожалуйста help, почему они идут в новую строку после второй записи.

+0

Новая линия, где вы ее положили. Если вы не понимаете свой код, я предлагаю вам пройти его через ваш отладчик. –

ответ

1

Ну, у вас есть мошенник \n в вашем printf. Но я думаю, что логика, которую вы ищете, больше похожа на это.

public void display(String ticker) { 
    System.out.printf("Portfolio #%s", ticker); 
    for (Map.Entry<String, Double> entry : priceMap.entrySet()) { 
     System.out.printf(", %s = " + "%.2f", entry.getKey(), entry.getValue()); 
    } 
    System.out.println(); // finish up the line. 
} 
+0

Спасибо вам большое! Я уже заметил, где была сделана ошибка !!! Еще раз спасибо! – w0lf

0

Ваш printf имеет только три параметра. Вам нужно добавить параметр для каждого значения, которое вы хотите распечатать.

Например, чтобы добавить следующий столбец вы ожидаете, изменить его на:

System.out.printf("\nPortfolio #%s, " + "%s = " + "%.2f, DFAS = %.2f", 
      ticker, entry.getKey(), entry.getValue(), getDFASValue()); // <-- You need to specify what the DFAS value is 

Продолжайте до тех пор, пока вы заполнили параметры для каждого элемента, который вы хотите.

Смежные вопросы