Introduction to Java Programming, AP Version, Y. Daniel Liang

This quiz is for students to practice. A large number of additional quiz is available for instructors from the Instructor's Resource Website.

Chapter 8 Multidimensional Arrays


Section 8.2 Two-Dimensional Array Basics
8.1  Which of the following statements are correct?
A. char[][] charArray = {'a', 'b'};
B. char[2][2] charArray = {{'a', 'b'}, {'c', 'd'}};
C. char[2][] charArray = {{'a', 'b'}, {'c', 'd'}};
D. char[][] charArray = {{'a', 'b'}, {'c', 'd'}};

8.2  Assume double[][] x = new double[4][5], what are x.length and x[2].length?
A. 4 and 4
B. 4 and 5
C. 5 and 4
D. 5 and 5

8.3  What is the index variable for the element at the first row and first column in array a?
A. a[0][0]
B. a[1][1]
C. a[0][1]
D. a[1][0]

8.4  When you create an array using the following statement, the element values are automatically initialized to 0.

int[][] matrix = new int[5][5];
A. True
B. False

8.5  How many elements are array matrix (int[][] matrix = new int[5][5])?
A. 14
B. 20
C. 25
D. 30

8.6  Analyze the following code:

public class Test {
  public static void main(String[] args) {
    boolean[][] x = new boolean[3][];
    x[0] = new boolean[1]; x[1] = new boolean[2];
    x[2] = new boolean[3];
 
    System.out.println("x[2][2] is " + x[2][2]);
  }
}
A. The program has a compile error because new boolean[3][] is wrong.
B. The program has a runtime error because x[2][2] is null.
C. The program runs and displays x[2][2] is null.
D. The program runs and displays x[2][2] is true.
E. The program runs and displays x[2][2] is false.

8.7  Assume int[][] x = {{1, 2}, {3, 4}, {5, 6}}, what are x.length are x[0].length?
A. 2 and 1
B. 2 and 2
C. 3 and 2
D. 2 and 3
E. 3 and 3

8.8  Assume int[][] x = {{1, 2}, {3, 4, 5}, {5, 6, 5, 9}}, what are x[0].length, x[1].length, and x[2].length?
A. 2, 3, and 3
B. 2, 3, and 4
C. 3, 3, and 3
D. 3, 3, and 4
E. 2, 2, and 2

Section 8.3 Processing Two-Dimensional Arrays
8.9  What is the output of the following program?

public class Test {
  public static void main(String[] args) {
    int[][] values = {{3, 4, 5, 1}, {33, 6, 1, 2}};

    int v = values[0][0];
    for (int row = 0; row < values.length; row++)
      for (int column = 0; column < values[row].length; column++)
        if (v < values[row][column])
          v = values[row][column];

    System.out.print(v);
  }
}
A. 1
B. 3
C. 5
D. 6
E. 33

8.10  What is the output of the following program?

public class Test {
  public static void main(String[] args) {
    int[][] values = {{3, 4, 5, 1}, {33, 6, 1, 2}};

    int v = values[0][0];
    for (int[] list : values)
      for (int element : list)
        if (v > element)
          v = element;

    System.out.print(v);
  }
}

A. 1
B. 3
C. 5
D. 6
E. 33

8.11  What is the output of the following program?

public class Test {
  public static void main(String[] args) {
    int[][] values = {{3, 4, 5, 1 }, {33, 6, 1, 2}};

    for (int row = 0; row < values.length; row++) {
      java.util.Arrays.sort(values[row]);
      for (int column = 0; column < values[row].length; column++)
        System.out.print(values[row][column] + " ");
      System.out.println();
    }
  }
}
A. The program prints two rows 3 4 5 1 followed by 33 6 1 2
B. The program prints on row 3 4 5 1 33 6 1 2
C. The program prints two rows 3 4 5 1 followed by 2 1 6 33
D. The program prints two rows 1 3 4 5 followed by 1 2 6 33
E. The program prints one row 1 3 4 5 1 2 6 33

8.12  What is the output of the following code?

public class Test {
  public static void main(String[] args) {
    int[][] matrix =
      {{1, 2, 3, 4},
       {4, 5, 6, 7},
       {8, 9, 10, 11},
       {12, 13, 14, 15}};

    for (int i = 0; i < 4; i++)
      System.out.print(matrix[i][1] + " ");
  }
}
A. 1 2 3 4
B. 4 5 6 7
C. 1 3 8 12
D. 2 5 9 13
E. 3 6 10 14

8.13  What is the output of the following code?

public class Test5 {
  public static void main(String[] args) {
    int[][] matrix =
      {{1, 2, 3, 4},
       {4, 5, 6, 7},
       {8, 9, 10, 11},
       {12, 13, 14, 15}};

    for (int i = 0; i < 4; i++)
      System.out.print(matrix[1][i] + " ");
  }
}
A. 1 2 3 4
B. 4 5 6 7
C. 1 3 8 12
D. 2 5 9 13
E. 3 6 10 14

Section 8.4 Passing Two-Dimensional Arrays to Methods
8.14  Suppose a method p has the following heading:

public static int[][] p()

What return statement may be used in p()?
A. return 1;
B. return {1, 2, 3};
C. return int[]{1, 2, 3};
D. return new int[]{1, 2, 3};
E. return new int[][]{{1, 2, 3}, {2, 4, 5}};

8.15  What is the output of the following program?

public class Test {
  public static void main(String[] args) {
    int[][] values = {{3, 4, 5, 1}, {33, 6, 1, 2}};

    for (int row = 0; row < values.length; row++) {
      System.out.print(m(values[row]) + " ");
    }
  }

  public static int m(int[] list) {
    int v = list[0];
    for (int i = 1; i < list.length; i++)
      if (v < list[i])
        v = list[i];
    return v;
  }
}
A. 3 33
B. 1 1
C. 5 6
D. 5 33
E. 33 5

Section 8.8 Multidimensional Arrays
8.16  Assume double[][][] x = new double[4][5][6], what are x.length, x[2].length, and x[0][0].length?
A. 4, 5, and 6
B. 6, 5, and 4
C. 5, 5, and 5
D. 4, 5, and 4

8.17  Which of the following statements are correct?
A. char[][][] charArray = new char[2][2][];
B. char[2][2][] charArray = {'a', 'b'};
C. char[][][] charArray = {{'a', 'b'}, {'c', 'd'}, {'e', 'f'}};
D. char[][][] charArray = {{{'a', 'b'}, {'c', 'd'}, {'e', 'f'}}};

8.18  What is the output of the following code?

public class Test {
  public static void main(String[] args) {
    int[][][] data = {{{1, 2}, {3, 4}},
      {{5, 6}, {7, 8}}};

    System.out.print(data[1][0][0]);
  }
}
A. 1
B. 2
C. 4
D. 5
E. 6

8.19  What is the output of the following code?

public class Test {
  public static void main(String[] args) {
    int[][][] data = {{{1, 2}, {3, 4}},
      {{5, 6}, {7, 8}}};

    System.out.print(ttt(data[0]));
  }

  public static int ttt(int[][] m) {
    int v = m[0][0];
    
    for (int i = 0; i < m.length; i++)
      for (int j = 0; j < m[i].length; j++)
        if (v < m[i][j])
          v = m[i][j];
   
    return v;
  }
}
A. 1
B. 2
C. 4
D. 5
E. 6