ゆるゆるプログラミング

・九九(くく)の表を作る

九九(くく)の表は、1から9までの数字を互いに掛け合わせた数を一覧表にまとめたものです。1×1=1(いんいちがいち)から始まり、9×9=81(くくはちじゅういち)で終わります。

ここから、九九(くく)の一覧表を表示するJavaのソースコードを使って解説していきます。

MultiTable9_1.java ← クリックしてダウンロードページに移動
001:    public class MultiTable9_1 {
002:    	public static void main( String[] args ) {
003:    		// 九九の計算
004:    		for ( int i = 1; i <= 9; i ++ ) {
005:    			for ( int j = 1; j <= 9; j ++ ) {
006:    				System.out.print( " " + i * j );
007:    			}
008:    			// 改行
009:    			System.out.println();
010:    		}
011:    	}
012:    }

MultiTable9_1の出力結果

 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

004:    		for ( int i = 1; i <= 9; i ++ ) {

整数型の変数iを1から9に1つずつ足していくループfor文で作成しています。

005:    			for ( int j = 1; j <= 9; j ++ ) {

整数型の変数jを1から9に1つずつ足していくループfor文で作成しています。これは、変数iのfor文の中に入っているfor文です。したがって、i=1のときはjは1~9の値をとります。i=2のときもjは1~9の値をとります。さらに、i=9のときもjは1~9の値をとります。

これで、九九に使用する変数iとjの全ての組み合わせが2つのfor文の中でとることができます。

006:    				System.out.print( " " + i * j );

変数iとjを掛けた結果を改行なしで表示しています。System.out.printで改行しない表示ができます。表示の頭に" "(半角スペース)を付けているのは、文字の区切りを表示するためです。これが無いと数字がくっつくため計算結果が正しく表示されません。

次に、上記のプログラムより綺麗な九九(くく)の一覧表を表示するJavaのソースコードを紹介します。

MultiTable9_2.java ← クリックしてダウンロードページに移動
001:    public class MultiTable9_2 {
002:    	public static void main( String[] args ) {
003:    		// 九九の計算
004:    		for ( int i = 1; i <= 9; i ++ ) {
005:    			for ( int j = 1; j <= 9; j ++ ) {
006:    				// mに掛け算の結果を代入
007:    				int m = i * j;
008:    
009:    				// ' 'を表示
010:    				System.out.print( " " );
011:    
012:    				// 計算結果が1桁のとき、' 'を追加表示
013:    				if ( 10 > m ) 
014:    					System.out.print( " " );
015:    
016:    				// 掛け算の結果を表示
017:    				System.out.print( m );
018:    			}
019:    			// 改行
020:    			System.out.println();
021:    		}
022:    	}
023:    }

MultiTable9_2の出力結果

  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

006:    				// mに掛け算の結果を代入
007:    				int m = i * j;

変数iとjの掛け算の結果を変数mに代入します。

009:    				// ' 'を表示
010:    				System.out.print( " " );

" "(半角スペース)を改行なしで表示します。これは、ほぼMultiTable9_1.javaと同じ処理です。

012:    				// 計算結果が1桁のとき、' 'を追加表示
013:    				if ( 10 > m ) 
014:    					System.out.print( " " );

掛け算の結果mが、10未満の場合に" "(半角スペース)を改行なしで表示します。この処理で、1桁の計算結果の2桁目を半角スペースで埋めることができ、綺麗に揃った表を作成することができます。

016:    				// 掛け算の結果を表示
017:    				System.out.print( m );

掛け算の結果mを表示します。

■関連コンテンツ

九九(くく)の表を作る2 掛け算なしで九九(くく)の表を作成
九九(くく)の表を作る3 2次元配列で九九(くく)の表
計算結果の表示 四則演算(足し算/引き算/掛け算/割り算)について
for文 繰り返し処理に使用するfor文について解説

■新着情報

2020.07.08 公約数 公約数
2020.07.08 最大公約数 1番大きい約数は?
2020.06.18 3つの値の最大最小 3つの値の最大/最小値
2020.06.03 円を描く(テキスト版) テキストを円を描く
2020.06.02 文字の間違い探し どの文字が違う?

Topへ