2016-06-17 80 views
-4

這個作弊工具在NetBeans中編譯和運行得很好。但是,它似乎可能不合法,有幾個不同的原因。或者是?在某些情況下,它可以使代碼更緊湊。只是好奇。Java printf作弊:這是合法的嗎?

System.out.printf("%-20d John Smith %n", 12); 

......這給了我:

12     John Smith 
+6

爲什麼它不合法? –

+0

@大衛Hoelzer - 我是一個新手(你可以告訴),但我的想法是,它只適用於靜態字符串,此外,它似乎可能混合%d與%s。但是閱讀所有評論,我很高興看到情況並非如此。 :) – Isambe

回答

5

這是完全合法的,-20左對齊20位和%n是一個換行符。

+0

是的,但「John Smith」是一個字符串,它通常會被定義在格式化命令的右側,是正確的嗎? – Isambe

+1

@Isambe認爲'System.out.printf(「% - 20d%s%n」,12,「John Smith」);' –

+0

@Isambe如果「John Smith」是一個固定字符串,可以將它放入格式化命令,就像老學校的'System.out.printf(「Hello,world!」);'。 – Nier