0

正しい形式で表示できません。私はすべてを試しましたが、これはコードを表示する必要がある方法です:

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

助けてください、なぜ彼らは2回目のエントリの後に新しい行に行くのですか.

4

2 に答える 2

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.
}
于 2013-10-05T22:25:58.047 に答える
0

printfパラメータは 3 つしかありません。印刷する値ごとにパラメーターを追加する必要があります。

たとえば、予想される次の列を追加するには、次のように変更します。

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

必要なすべてのアイテムのパラメーターを入力し終わるまで続けます。

于 2013-10-05T22:09:45.623 に答える