Skip to main content
Logo image

Section 15.14 FRQ4 - 2D Arrays - Part 2

From the 2025 Course and Exam Description:
Free-Response Question 4: 2D Array. Students will be provided with a scenario and its associated class(es). Students will write one method of a given class based on provided specifications and examples. The method requires students to use, analyze, and manipulate data in a 2D array structure.
FRQ 4 requires the following skills:
  • Iterate through a 2D array
  • Access elements of a 2D array
  • Call methods on elements of a 2D array

Subsection 15.14.1 2022 FRQ 4 - Data - Part (a)

This question involves a two-dimensional array of integers that represents a collection of randomly generated data. A partial declaration of the Data class is shown. You will write two methods of the Data class.
public class Data
{
    public static final int MAX = /* value not shown */;
    private int[][] grid;

    /** Fills all elements of grid with randomly generated values, as described in part (a)
    * Precondition: grid is not null.
    * grid has at least one element.
    */
    public void repopulate()
    { /* to be implemented in part (a) */ }

    /** Returns the number of columns in grid that are in increasing order, as described
    * in part (b)
    * Precondition: grid is not null.
    * grid has at least one element.
    */
    public int countIncreasingCols()
    { /* to be implemented in part (b) */ }

    // There may be instance variables, constructors, and methods that are not shown.
}
Part (a) Write the repopulate method, which assigns a newly generated random value to each element of grid. Each value is computed to meet all of the following criteria, and all valid values must have an equal chance of being generated.
  • The value is between 1 and MAX, inclusive.
  • The value is divisible by 10.
  • The value is not divisible by 100.

Activity 15.14.1.

Complete the repopulate method.

Subsection 15.14.2 2022 FRQ 4 - Data - Part (b)

Part (b) Write the countIncreasingCols method, which returns the number of columns in grid that are in increasing order. A column is considered to be in increasing order if the element in each row after the first row is greater than or equal to the element in the previous row. A column with only one row is considered to be in increasing order.
The following examples show the countIncreasingCols return values for possible contents of grid.
The return value for the following contents of grid is 1, since the first column is in increasing order but the second and third columns are not.
Figure 15.14.1.
The return value for the following contents of grid is 2, since the first and third columns are in increasing order but the second and fourth columns are not.
Figure 15.14.2.

Activity 15.14.2.

Complete the countIncreasingCols method.
You have attempted of activities on this page.