AP CSA 2021 Q4 - ArrayResizer Class
<-- Back to Solution of Q3 (ClubMembers) - FRQ - 2021 | Home to AP CSA Exam Solutions--> |
Solution of Q4 (ArrayResizer) - Free Response Question - 2021
The original question can be found at: https://apcentral.collegeboard.org/media/pdf/ap21-frq-computer-science-a.pdf
Part (a)- public static boolean isNonZeroRow(int[][] array2D, int r)
public static boolean isNonZeroRow(int[][] array2D, int r) { boolean isNonZero = true; for (int i=r; (i<= r) && (isNonZero) ; i++) { for (int j=0; (j < array2D[i].length) && (isNonZero); j++) { if (array2D[i][j] == 0) isNonZero = false; } } return isNonZero; }
Part (b)- public static int[][] resize(int[][] array2D)
public static int[][] resize(int[][] array2D) { int numRows = numNonZeroRows(array2D); int[][] newArray =new int[numRows][array2D[0].length]; int k=0; for (int i=0; (i< array2D.length); i++) { if (isNonZeroRow(array2D,i)) { for (int j=0; j< array2D[0].length; j++) { newArray[k][j] = array2D[i][j]; } k++; } } return newArray; }
Java project files (with Runner code):
<-- Back to Solution of Q3 (ClubMembers) - FRQ - 2021 | Home to AP CSA Exam Solutions--> |