AP CSA 1.9 Debugging: Arguments in the Wrong Slots

Unit 1: Using Objects and Methods · Lesson 1.9 · Debugging

Arguments in the Wrong Slots

Method Signatures. 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 method signature is a contract about order as much as about types. Hand it two ints in the wrong order and every type checks out, the call compiles, and the answer is quietly the answer to a different question.

What is wrong with it

  1. The call to describe passes the height first and the width second, but the signature declares width first. Swap the arguments at the CALL, not in the method.
  2. The percent method divides part by whole in the wrong order, so it reports the reciprocal, which is 0 for any real input under integer division. Fix the order inside the method.
  3. The signatures themselves are correct and must not change. Only the call and the body of percent need work.

The program reads

A width, a height, then a part and a whole.

The program should print

Two lines: the area described as width times height, then the part as an integer percentage of the whole.

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
3 4 25 50
Example 1 output
12
50
Example 2 input
5 5 1 4
Example 2 output
25
25

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

Multiplication is commutative, so the area happens to come out right anyway. That is exactly what makes this dangerous: the same swapped call in a method that subtracts or divides would be visibly wrong, and here it is invisible. Fix it because the contract says so.

Hint 2

In percent, ask what fraction you want: part out of whole. Multiplying by 100 first keeps the integer division from collapsing to 0, but the part still has to be on top.

Hint 3

Parameter names are documentation for the caller. When a call site reads describe(height, width) against a signature that says (width, height), the call is wrong even if the result looks fine.

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]