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
Get step-by-step solutions from verified subject matter experts
