AP CSA 4.16 Exercise 1: The Base Case First

Unit 4: Data Collections · Lesson 4.16 · Exercise 1

The Base Case First

Recursion. Write real Java, run it, and submit it to be graded against hidden test cases.

Why this one is worth doing

Every recursive method needs a base case and a call that gets closer to it. Write the base case first and the rest usually falls out; write it last and the program runs forever.

What to write

  1. Read one integer n, which is 0 or more, and then a word.
  2. Write a recursive method that returns the factorial of n, and print it. The factorial of 0 is 1.
  3. Write a recursive method that returns the sum of the digits of n, and print it.
  4. Write a recursive method that returns the word reversed, and print it.
  5. Write a recursive method that returns how many times the method was called to compute the factorial, counting the base case, and print it.
  6. Every one of these must be recursive. Do not use a loop.

Your program reads

An integer of 0 or more, then a word.

Your program prints

Four lines: the factorial, the digit sum, the reversed word and the call count.

Worked examples

These are the cases you can see. There are more you cannot, and they use different values, so an answer that prints these numbers as constants will fail.

Example 1 input
5 stack
Example 1 output
120
5
kcats
5
Example 2 input
0 a
Example 2 output
1
0
a
1

Your answer

Main.java

Input for the Run button

Run sends whatever is in the input box below. Submitting runs your program against every test case, including hidden ones with different input.


  

  

Stuck?

Hint 1

factorial stops at 1 or below and returns 1, which covers both 0 and 1 with one test.

Hint 2

Reversing a String recursively is the reverse of everything after the first character, with the first character stuck on the end.

Hint 3

The call count for factorial(5) is 5, because the base case call counts too. Trace factorial(1) and factorial(0) by hand if the number is off by one.

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]