AP CSA 1.13 FRQ Practice: Immutable Strings

Unit 1: Using Objects and Methods · Lesson 1.13 · FRQ Practice

Immutable Strings

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

Creating an object and changing a variable are different acts. A String can never be changed, so every method that looks like it edits one is really building a new one and handing it back. A student who calls the method and does not store the result has created an object and thrown it away, and the exam scores exactly that.

What you are given

Two variables are declared and assigned for you: String word and String suffix.

The question

  1. (a) Print word unchanged.
  2. (b) Build a new String from word and suffix joined together, and print it.
  3. (c) Print word again, to show it did not change.
  4. (d) Print the length of the joined String.

What the reader is looking for

  1. Write a code segment that prints four lines in rubric order.
  2. Part (c) must print the ORIGINAL word. If your part (b) changed word itself, part (c) will disagree with part (a) and both cannot be right.
  3. Store the joined String in its own variable. Parts (b) and (d) both need it.

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 is given
String word = "note";
String suffix = "book";
Example 1 output
note
notebook
note
8
Example 2 is given
String word = "solo";
String suffix = "";
Example 2 output
solo
solo
solo
4

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

Parts (a) and (c) print the same thing, on purpose. That is the evidence that building a new String left the original alone.

Hint 2

word = word + suffix would make part (c) print the joined value and lose the point. Assign to a NEW variable instead.

Hint 3

Part (d) is the length of the joined String, not of word. Store the join once and ask that variable for its length.

Before you submit

1 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.

  • part (b) reassigns word, so part (c) can no longer show it was unchanged

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]