AP CSA 3.5 Debugging: Returning Too Soon

Unit 3: Class Creation · Lesson 3.5 · Debugging

Returning Too Soon

Methods: How to Write Them. 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 return statement does not just hand back a value, it ends the method immediately. Put one inside a loop that was supposed to examine every element and the loop becomes a very expensive way of looking at the first item.

What is wrong with it

  1. countAbove returns after examining the very first score, because the return sits inside the loop instead of after it. Move it so the loop finishes first.
  2. allPassing returns true as soon as it sees one passing score. It should return false if ANY score is below the cutoff, and true only if every one passes. Fix the logic so a single failing score decides the answer.
  3. The constructor and getSize are correct.

The program reads

A cutoff, then a count of scores, then that many scores.

The program should print

Three lines: how many scores are strictly above the cutoff, whether every score is at least the cutoff, and how many scores there are.

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
70 5
90 65 80 72 60
Example 1 output
3
false
5
Example 2 input
50 3
50 50 50
Example 2 output
0
true
3

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

A counting loop returns AFTER the loop. A searching loop can return from inside, but only when finding one example settles the question for good. Ask which kind each method is before you decide where the return goes.

Hint 2

For a claim about EVERY element, one counterexample is enough to say false, but no single example is ever enough to say true. So the early return inside the loop must be the false one, and true comes after the loop survives every element.

Hint 3

The starter version of allPassing returns true for a list where only the first score passes. Test that case by hand and the logic error is obvious.

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]