Question: Consider the following class definition. public class Element { public static int max_value = 0; private int value; public Element (int v) { value =

Consider the following class definition.

public class Element

{

public static int max_value = 0;

private int value;

public Element (int v)

{

value = v;

if (value > max_value)

{

max_value = value;

}

}

}

The following code segment appears in a class other than Element.

for (int i = 0; i < 5; i++)

{

int k = (int) (Math.random() * 10 + 1);

if (k >= Element.max_value)

{

Element e = new Element(k);

}

}

Which of the following best describes the behavior of the code segment?

  • Exactly 5 Element objects are created.

    Exactly 5 Element objects are created.

    A

  • Exactly 10 Element objects are created.

    Exactly 10 Element objects are created.

    B

  • Between 0 and 5 Element objects are created, and Element.max_value is increased only for the first object created.

    Between 0 and 5 Element objects are created, and Element.max_value is increased only for the first object created.

    C

  • Between 1 and 5 Element objects are created, and Element.max_value is increased for every object created.

    Between 1 and 5 Element objects are created, and Element.max_value is increased for every object created.

    D

  • Between 1 and 5 Element objects are created, and Element.max_value is increased for at least one object created.

    Between 1 and 5 Element objects are created, and Element.max_value is increased for at least one object created.

    E

The class Worker is defined below. The class includes the method getEarnings, which is intended to return the total amount earned by the worker.

public class Worker

{

private double hourlyRate;

private double hoursWorked;

private double earnings;

public Worker(double rate, double hours)

{

hourlyRate = rate;

hoursWorked = hours;

}

private void calculateEarnings()

{

double earnings = 0.0;

earnings += hourlyRate * hoursWorked;

}

public double getEarnings()

{

calculateEarnings();

return earnings;

}

}

The following code segment appears in a method in a class other than Worker. The code segment is intended to print the value 800.0, but instead prints a different value because of an error in the Worker class.

Worker bob = new Worker(20.0, 40.0);

System.out.println(bob.getEarnings());

Which of the following best explains why an incorrect value is printed?

  • The private variables hourlyRate and hoursWorked are not properly initialized.

    The private variables hourlyRate and hoursWorked are not properly initialized.

    A

  • The private variables hourlyRate and hoursWorked should have been declared public .

    B

  • The private method calculateEarnings should have been declared public.

    The private method calculateEarnings should have been declared public .

    C

  • The variable earnings in the calculateEarnings method is a local variable.

  • The variables hourlyRate and hoursWorked in the calculateEarnings method are local variables.

    E The variables hourlyRate and hoursWorked in the calculateEarnings method are local variables.

Submit

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!