AP CSA 2.5 Debugging: The Guard That Does Not Guard
Unit 2: Selection and Iteration · Lesson 2.5 · Debugging
The Guard That Does Not Guard
Compound Boolean Expressions. 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.
The single ampersand and the double ampersand both compute the same answer for booleans. Only one of them protects the code on its right from ever running. When the thing on the right would divide by zero, that difference is a crash.
What is wrong with it
Run the program with a count of 0. It crashes with an ArithmeticException on a division by zero, even though the condition clearly checks that count is not zero first. The check uses a single ampersand, which evaluates BOTH sides before deciding. Change it to the operator that stops as soon as the left side is false.
The in-range test is supposed to accept values from 10 through 99 inclusive. It uses an or, which accepts everything. Fix it so it means what it says.
The reading of the inputs and the total are correct.
The program reads
An integer count, then that many integers, then one more integer to range check.
The program should print
Two lines: true if the count is not zero and the average is over 10, then true if the last value is between 10 and 99 inclusive.
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
0 5
Example 1 output
false
false
Example 2 input
3 20 30 40 50
Example 2 output
true
true
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 single ampersand on two booleans is a real operator and it compiles fine. It just always evaluates the right side, so the division happens before the count check has any chance to protect it. The double ampersand short circuits: if the left side is false, the right side is never evaluated at all.
Hint 2
This is the reason the null check and the length check are written in that order everywhere you will ever see them. The order only saves you if the operator honors it.
Hint 3
For the range test, ask what check >= 10 || check <= 99 says about the value 5. It is not at least 10, but it is at most 99, so the or is satisfied. Every integer satisfies one side or the other.
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.
34.8% of Tanner’s CSP students score 5s. The national average is 9.6%.
I’m a Student
I’m a Teacher
✓Free AP CSP Big Ideas cheat sheet (PDF)
✓Daily practice questions covering all 5 Big Ideas
✓Create Task tips that actually work — from a real AP teacher
✓Free class codes with student progress tracking
✓3 full practice exams + Top 100 questions for your class
✓Create Task guidance and pseudocode reference sheets
Which AP CS exams are you prepping for?
✓
You’re in!
Your Big Ideas cheat sheet is on its way.
No thanks, I’ll figure it out myself
Avg student improvement: 2+ score levels | Real AP teacher, not just a tutor
AP Cybersecurity — National Launch 2026–27
Get Early Access to AP Cyber
AP Cyber launches nationally fall 2026. Get in early to help shape the course — start free with Unit 1 and the free teacher gradebook.
✓
You’re in — you’re on the AP Cyber early-access list!
Tanner will follow up personally within 48 hours. Your feedback will directly shape what gets built.
Step 1 of 4
Early Access — Limited Spots
Who are you?
Are you a teacher or a student?
I’m a Teacher
I’m a Student
Free to start — Unit 1 and the teacher gradebook are always free, no credit card.
Founding teachers unlock all 5 units and get direct input on what we build.
Not interested right now
Step 2 of 4
Your School
Tell us about your class
Other AP CS courses you teach
Your Situation
Tell us about yourself
Step 3 of 4
Classroom Needs
What does your classroom need? (select all that apply)
How You Study
What would help you most? (select all that apply)
Step 4 of 4
Almost Done
Where should we send your early-access details?
Free gradebook + Unit 1 | Your feedback shapes the course | Built by a real AP teacher