AP CSA 4.11 Debugging: Rows and Columns, Swapped

Unit 4: Data Collections · Lesson 4.11 · Debugging

Rows and Columns, Swapped

2D Array Creation and Access. This is not a blank editor: it is someone else's attempt. Find what is wrong, fix it, and submit to be graded against hidden test cases.

Why debugging is its own skill

The first index is the row and the second is the column, always. Swap them and a rectangular grid crashes the moment it is not square, which means every test on a square grid passes and tells you nothing.

What is wrong with it

  1. The grid is filled with grid[c][r] instead of grid[r][c], so on any non-square grid it reaches outside the array and throws. Fix the index order.
  2. The column count is taken from grid.length, which is the number of ROWS. Use the length of a row instead.
  3. The allocation on the line with new int[rows][cols] is correct.

The program reads

A row count, a column count, then that many integers in row-major order.

The program should print

The number of rows, the number of columns, then each row as its values separated by single spaces.

Worked examples

These show what the FIXED program should print. There are more cases you cannot see, and they use different values, so patching around just these numbers will fail.

Example 1 input
2 3
1 2 3 4 5 6
Example 1 output
2
3
1 2 3
4 5 6
Example 2 input
1 4
7 8 9 10
Example 2 output
1
4
7 8 9 10

Your answer

Main.java

Input for the Run button

Run sends whatever is in the code box below, bugs and all, so you can see the crash or the wrong answer for yourself before you fix anything.


  

  

Stuck?

Hint 1

Read int[][] grid as an array of rows, where each row is itself an array of values. grid.length counts the rows. grid[0].length counts the values in the first row, which is the column count.

Hint 2

A 2 by 3 grid has no grid[2], so writing grid[c][r] with c reaching 2 throws immediately. On a square grid the same bug quietly transposes your data and never crashes, which is why square test cases are useless here.

Hint 3

The printing loop is already written the right way. Copy its index order into the filling loop.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]