AP CSA 1.11 FRQ Practice: Random Range and Rounding

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

Random Range and Rounding

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

Math is the one library the exam expects from memory, and it has three traps in it: pow returns a double, integer division inside a Math call happens before Math ever sees it, and casting a double to an int truncates rather than rounding. This question walks through all three with no randomness, so every answer is checkable.

What you are given

Three variables are declared and assigned for you: int base, int exponent and double measurement.

The question

  1. (a) Print base raised to the exponent.
  2. (b) Print that same power converted to an int by casting.
  3. (c) Print measurement rounded to the nearest whole number using Math.round.
  4. (d) Print measurement truncated toward zero by casting.

What the reader is looking for

  1. Write a code segment that prints four lines in rubric order.
  2. Parts (c) and (d) are the same number treated two different ways, and they disagree whenever the fraction is one half or more. That disagreement is the point of the question.
  3. Math.round on a double returns a long. Printing it directly is correct.

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
int base = 2;
int exponent = 3;
double measurement = 4.5;
Example 1 output
8.0
8
5
4
Example 2 is given
int base = 5;
int exponent = 2;
double measurement = 9.2;
Example 2 output
25.0
25
9
9

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

Math.pow always returns a double, so part (a) prints with a decimal point even for 2 to the 3rd. Part (b) is where it becomes an int.

Hint 2

Casting truncates toward zero and never rounds. (int) 7.99 is 7. Math.round(7.99) is 8. A question that asks for both is asking you to show you know the difference.

Hint 3

Compute the power once into a variable. Parts (a) and (b) are the same value shown two ways, and calling Math.pow twice invites a typo in one of them.

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 (c) truncates instead of rounding

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]