logo Practice-It logo

BJP3 Self-Check 5.28: assertions2

Language/Type: Java assertions
Author: Leslie Ferguson (on 2013/04/01)

For each of the five points labeled by comments, identify each of the assertions in the table below as either being always true, never true, or sometimes true / sometimes false.

public static int mystery(int n) {
    Random r = new Random();
    int a = r.nextInt(3) + 1;
    int b = 2;

    // Point A
    while (n > b) {
        // Point B
        b = b + a;

        if (a > 1) {

            // Point C
            a = r.nextInt(b) + 1;
        } else {
            a = b + 1;
            // Point D

    // Point E
    return n;

Fill in each box of the the table below with ALWAYS, NEVER or SOMETIMES.

n > b a > 1 b > a
Point A
Point B
Point C
Point D
Point E

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.