2017-03-18 52 views
0

我的問題涉及具體的結果縮進。有些是字符串和一些雙。到目前爲止,我有下面的Java程序顯示在下面。我需要的結果如下: - 名稱:尤達盧卡 收入:5000.00%權益 :游泳,登山如何縮進字符串和雙重結果java

我不希望有寫每一行的前綴。有沒有更快的方式來格式化一次的「字符串」和一次的「雙」?

程序: - 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是雙重的,你可以一次性寫下它們。

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

這就給你浮點數的兩倍。爲了得到它的標準格式

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

+0

謝謝ANS。如果我然後要格式化數字到兩位小數,我在哪裏做這個? – yoda