前提・実現したいこと
System.out.printlnとSystem.out.printfのちがいについて、
Webで調べてみたのですが、99の表を書くプログラムにおける動作のちがいにおいて
わからないことがあります。
以下参考にした説明では、printfの場合にスペースが表示されるようなことは
言及されていなかったのですが、以下のコードを実行したところ、printfの場合はスペースが表示されました。なぜこのようにprintInとprintfではちがいができるのか教えていただきたいです。
該当のソースコード
System.out.printlnを用いた場合
java
1public class 99Table { 2 3 public static void main(String[] args) { 4 System.out.println("---99の表---"); 5 for(int i = 1; i<=9; i++){ 6 for(int j = 1; j<=9; j++){ 7 System.out.println(i*j); 8 9 } 10 System.out.println(); 11 } 12 13 } 14 15} 16
結果
---99の表--- 123456789 24681012141618 369121518212427 4812162024283236 51015202530354045 61218243036424854 71421283542495663 81624324048566472 91827364554637281
System.out.printを用いた場合
java
1public class 99Table { 2 3 public static void main(String[] args) { 4 System.out.println("---99の表---"); 5 for(int i = 1; i<9; i++){ 6 for(int j = 1; j<9; j++){ 7 System.out.printf("%3d", i*j); 8 9 } 10 System.out.println(); 11 } 12 13 } 14 15}
結果
---99の表--- 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
回答4件
あなたの回答
tips
プレビュー