多次元配列を練習しよう。
Q1
2次元配列を作成し、九九の表を出力せよ。
System.out.printf()と書式文字列%3dを使ってフォーマットすること。
[実行結果]
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
public class Jn27 { public static void main(String[] args){ int[][] nums=new int[9][9]; for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ nums[i][j]=(i+1)*(j+1); } } /*出力*/ for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].length;j++){ System.out.printf("%3d",nums[i][j]); } System.out.println(); } } }
Q2
行数と列数を入力させ、その表を0〜99の乱数で埋め尽くす二次元配列を作成せよ。
出力の際はSystem.out.printf()を使ってフォーマットすること。
[実行結果]
何行?>3 何列?>5 85 17 40 20 4 95 90 37 41 70 44 84 99 25 49
public class Q2 { public static void main(String[] args){ System.out.print("何行?>"); int rows=new java.util.Scanner(System.in).nextInt(); System.out.print("何列?>"); int cols=new java.util.Scanner(System.in).nextInt(); int[][] matrix=new int[rows][cols]; for(int i=0;i<rows;i++){ for(int j=0;j<cols;j++){ matrix[i][j]=new java.util.Random().nextInt(100); } } /*出力*/ for(int i=0;i<rows;i++){ for(int j=0;j<cols;j++){ System.out.printf("%3d",matrix[i][j]); } System.out.println(); } } }
Q3
クラス数、クラスの人数、それぞれの点数を入力させ、表を出力する。
[実行結果]
クラスの数>2 1組のクラスの人数>3 1組1人目の点数>20 1組2人目の点数>60 1組3人目の点数>30 2組のクラスの人数>4 2組1人目の点数>90 2組2人目の点数>70 2組3人目の点数>30 2組4人目の点数>45 --表出力-- 1組 20 60 30 2組 90 70 30 45
public class Q3 { public static void main(String[] args){ System.out.print("クラスの数>"); int cNum=new java.util.Scanner(System.in).nextInt(); int[][] data=new int[cNum][]; for(int i=0;i<data.length;i++){ System.out.printf("%d組のクラスの人数>",i+1); int sNum=new java.util.Scanner(System.in).nextInt(); data[i]=new int[sNum]; for(int j=0;j<sNum;j++){ System.out.printf("%d組%d人目の点数>",i+1,j+1); data[i][j]=new java.util.Scanner(System.in).nextInt(); } } System.out.println("--表出力--"); for(int i=0;i<data.length;i++){ System.out.printf("%d組",i+1); for(int j=0;j<data[i].length;j++){ System.out.printf("%3d",data[i][j]); } System.out.println(); } } }
コメント