AP CSA 4.12 Debugging: The Column Bound That Is a Row Count

Unit 4: Data Collections · Lesson 4.12 · Debugging

The Column Bound That Is a Row Count

Traversing 2D Arrays. 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

A row-major traversal and a column-major traversal visit the same elements in different orders, and the loop bounds are not interchangeable. Using the row count where the column count belongs works perfectly on a square grid and throws on every other one.

What is wrong with it

  1. The column-major traversal uses grid.length as the bound for its outer loop over columns. That is the row count. Use the number of columns instead.
  2. The row-sum loop resets its accumulator OUTSIDE the row loop, so each row reports a running total of every row before it. Move the reset so each row starts at zero.
  3. The row-major traversal at the top is correct and is worth comparing against.

The program reads

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

The program should print

All values in row-major order one per line, then all values in column-major order one per line, then one line per row with that row's sum.

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
1
2
3
4
5
6
1
4
2
5
3
6
6
15
Example 2 input
3 1
5 6 7
Example 2 output
5
6
7
5
6
7
5
6
7

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

In a column-major traversal the OUTER loop walks columns, so its bound is the column count, grid[0].length. The inner loop walks rows and uses grid.length. The starter uses the row count for both.

Hint 2

A variable declared outside the loop that should reset per row is the same bug as the nested-iteration star counter in 2.11. Declaring it inside the outer loop is the reset.

Hint 3

Test on a grid that is not square. A 2 by 2 grid makes both bounds equal and hides the bug completely.

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]