2017-03-18 10 views
0

私の質問は結果のインデントに関係します。いくつかはStringとdoubleです。これまでのところ、以下のjavaプログラムがあります。私はすべての行の接頭辞を記述する必要はしたくない文字列と二重の結果をインデントする方法java

ハイキング、水泳:依田ルカ 収入::%5000.00 興味 名 - :私は、次の結果が必要です。 "String"と "Double"を一度フォーマットする方が早いのですか?

プログラム: - import java.util.Scanner; パブリッククラスforTesting {

public static void main(String[] args) { 

    String prefixName = "Name:"; 
    String prefixIncome = "Income"; 

    String Name; 
    double Income; 

    //create a Scanner that is connected to System.in 
    Scanner input = new Scanner(System.in); 

    System.out.print("Enter name:"); 
    Name = input.nextLine(); 

    System.out.print("Enter income for period: "); 
    Income = input.nextDouble(); 

    String format = "%-40s%s%n"; 
    System.out.printf(format, prefixName,Name); 
    System.out.printf(format, prefixIncome, Income); 


} 

}

+0

標準フォーマットでそれを取得するには:現実の世界で、あなたは通貨を表現するために浮動小数点数を使用しないでください。実際のお金に関する実際のデータを使って作業している場合は、ここでTVフロートを使用しないでください! – GhostCat

答えて

1

文字列の形式は、形式をとり、引数n個の続きます。

はい。 %fは2倍で、1回の書き込みで書き込むことができます。

String format = "%-40s%s%n%-40s%f%n"; 
System.out.printf(format, prefixName,Name,prefixIncome, Income); 

これで浮動小数点が2倍になります。念のため

How to nicely format floating numbers to String without unnecessary decimal 0?

+0

ANSに感謝します。私は小数点以下2桁まで数値を書式化したいのですが、どこでこれを行うのですか? – yoda

関連する問題