Javaの学習を始めて11日くらいの人のための問題集(多次元配列)

Java

多次元配列を練習しよう。

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
01public class Jn27 {
02      public static void main(String[] args){
03        int[][] nums=new int[9][9];
04        for(int i=0;i<9;i++){
05          for(int j=0;j<9;j++){
06            nums[i][j]=(i+1)*(j+1);
07          }
08        }
09        /*出力*/
10        for(int i=0;i<nums.length;i++){
11          for(int j=0;j<nums[i].length;j++){
12            System.out.printf("%3d",nums[i][j]);
13          }
14          System.out.println();
15        }
16      }
17}

Q2
行数と列数を入力させ、その表を0〜99の乱数で埋め尽くす二次元配列を作成せよ。
出力の際はSystem.out.printf()を使ってフォーマットすること。

[実行結果]

何行?>3
何列?>5
 85 17 40 20  4
 95 90 37 41 70
 44 84 99 25 49
01public class Q2 {
02      public static void main(String[] args){
03        System.out.print("何行?>");
04        int rows=new java.util.Scanner(System.in).nextInt();
05        System.out.print("何列?>");
06        int cols=new java.util.Scanner(System.in).nextInt();
07        int[][] matrix=new int[rows][cols];
08        for(int i=0;i<rows;i++){
09          for(int j=0;j<cols;j++){
10            matrix[i][j]=new java.util.Random().nextInt(100);
11          }
12        }
13        /*出力*/   
14        for(int i=0;i<rows;i++){
15          for(int j=0;j<cols;j++){
16            System.out.printf("%3d",matrix[i][j]);
17          }
18          System.out.println();
19        }
20      }
21}

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
01public class Q3 {
02      public static void main(String[] args){
03        System.out.print("クラスの数>");
04        int cNum=new java.util.Scanner(System.in).nextInt();
05        int[][] data=new int[cNum][];
06        for(int i=0;i<data.length;i++){
07          System.out.printf("%d組のクラスの人数>",i+1);
08          int sNum=new java.util.Scanner(System.in).nextInt();
09          data[i]=new int[sNum];
10          for(int j=0;j<sNum;j++){
11            System.out.printf("%d組%d人目の点数>",i+1,j+1);
12            data[i][j]=new java.util.Scanner(System.in).nextInt();
13          }
14        }
15        System.out.println("--表出力--");
16        for(int i=0;i<data.length;i++){
17          System.out.printf("%d組",i+1);
18          for(int j=0;j<data[i].length;j++){
19            System.out.printf("%3d",data[i][j]);
20          }
21          System.out.println();
22        }
23      }
24}

コメント

タイトルとURLをコピーしました