2016-06-17 10 views
-4

このチートは、NetBeansでうまくコンパイルされて実行されます。しかし、おそらく合法ではないように思えますが、いくつかの異なる理由があります。またはそれは?コードによっては、状況によってはさらにコンパクトになる可能性があります。ちょっと興味があるんだけど。私に与えJava printfの不正行為:これは合法ですか?

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

...:

12     John Smith 
+6

なぜ合法的ではないでしょうか? –

+0

@David Hoelzer - 私は初心者です(あなたが分かるように)が、私の考えは静的な文字列に対してのみ機能し、さらに%dと%sを混ぜ合わせるように思えるということでした。しかし、すべてのコメントを読んで、私はこれが当てはまらないことを喜んでいる。 :) – Isambe

+3

私は弁護士ではありませんが、私はあなたがそのコード行を使って逮捕されることはないと確信しています。 – Krease

答えて

5

をそれは完全に合法だ、-20左は20個のスペースを整列させ、%nは改行です。

+0

はい、「John Smith」は文字列ですが、通常は書式設定コマンドの右側に定義されていますが、正しいですか? – Isambe

+1

@Sambeは 'System.out.printf("% - 20d%s%n "、12、" John Smith "); ' –

+0

@Isambeを考慮します。" John Smith "が固定ストリングの場合は、旧式の 'System.out.printf(" Hello、world! ");'と同じように書式設定コマンドを使用します。 – Nier

関連する問題