AP CSA 3.5 FRQ Practice: Return, Do Not Print

Unit 3: Class Creation · Lesson 3.5 · FRQ Practice

Return, Do Not Print

A free response question in the shape the exam uses: a stated contract, four rubric parts, and no main method handed to you. Worth 4 points.

Why this question is worth four points

A void method that prints and an int method that returns look equally correct on a screen. Only one of them can be used by the code that called it. This question is graded entirely on what your methods hand back, so a class that prints the right answers scores zero, which is exactly what happens in May.

What you are given

Nothing is given. Write a class named Account. Do not write a main method.

The question

  1. (a) A constructor Account(int balance) that stores the opening balance.
  2. (b) public void deposit(int amount) adds amount to the balance, ignoring any amount that is zero or negative.
  3. (c) public boolean withdraw(int amount) takes amount out and returns true, or changes nothing and returns false when the amount is more than the balance or is not positive.
  4. (d) public int getBalance() returns the current balance.

What the reader is looking for

  1. Write class Account with the constructor and methods described. No main method.
  2. Part (c) returns whether the withdrawal happened. A method that prints "declined" and returns nothing cannot be used by the driver at all.
  3. A refused withdrawal must leave the balance untouched. Deducting and then refusing is the bug this part is looking for.

Worked examples

These show what a correct answer prints. There are more cases you cannot see, and they use different values, so an answer built around just these numbers will fail.

Example 1 input
100 50 60
Example 1 output
150
true
90
true
30
Example 2 input
40 60 100
Example 2 output
100
true
0
false
0

Your answer

Main.java

Input for the Run button

How this is scored: your answer runs against every test case, and the fraction it passes becomes your score out of 4. That is not how a human AP reader marks a rubric, so treat the score as a check on whether your code works, and the rubric above as the thing you are actually practising.


  

  

Stuck?

Hint 1

The driver withdraws the SAME amount twice. If the first succeeds and drains the account, the second must return false and leave the balance where it is.

Hint 2

Deducting first and checking afterwards leaves the balance wrong on every refusal, and the getBalance line right after the false is where it shows.

Hint 3

A withdrawal of exactly the whole balance is allowed. Only more than the balance is refused.

Before you submit

4 mistake(s) that lose points on this question

Each of these is a real error the grader catches. Check your answer against them before you submit, not instead of trying.

  • withdraw deducts before checking, so a refused withdrawal still moves the balance
  • withdraw refuses an amount equal to the whole balance
  • deposit accepts negative amounts
  • withdraw always reports success

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]