Examen Java Programmer I OCA JP

Download as pdf or txt
Download as pdf or txt
You are on page 1of 116

Java Programmer I OCA JP1Z0 – 808

0 Given:
public class Natural {
private int i;
void disp() {
while (i <= 5) {
for (int i = 1; i <= 5;) {
System.out.print(i + " ");
i++;
}
i++;
}
}

public static void main(String[] args) {


new Natural().disp();
}
}

What is the result?

A. Prints 1 2 3 4 5 once

B. Prints 1 3 5 once

C. Prints 1 2 3 4 5 five times

D. Prints 1 2 3 4 5 six times

E. Compilation fails

1 Given:
class Base {
// insert code here
}

public class Derived extends Base {

public static void main(String[] args) {


Derived obj = new Derived();
obj.setNum(3);
System.out.println("Square = " + obj.getNum() * obj.getNum());
}
}
Which two options, when inserted independently inside class Base, ensure that the class is being
properly encapsulated and allow the program to execute and print the square of the number?

A.
private int num;

public int getNum() {


return num;
}

public void setNum(int num) {


this.num = num;
}

B.
public int num;
protected public int getNum() {
return num;
}
protected public void setNum(int num) {
this.num = num;
}

C.
private int num;
public int getNum() {
return num;
}
private void setNum(int num) {
this.num = num;
}

D.
protected int num;
public int getNum() {
return num;
}

public void setNum(int num) {


this.num = num;
}

E.
protected int num;
private int getNum() {
return num;
}

public void setNum(int num) {


this.num = num;
}

2 Given:
class Overloading {

int x(double d) {
System.out.println("one");
return 0;
}

String x(double d) {
System.out.println("two");
return null;
}

double x(double d) {
System.out.println("three");
return 0.0;
}

public static void main(String[] args) {


new Overloading().x(4.0);
}
}

What is the result?

A. One

B. Two

C. Three

D. Compilation fails.

3 Given:
public class Whizlabs {
public static void main(String[] args) {
String s = "A";

switch (s) {
case "a":
System.out.println("simaple A ");
default:
System.out.print("default ");
case "A":
System.out.print("Capital A ");
}
}
}

What is the result?

A. simaple A

B. Capital A

C. simaple A default Capital A

D. simaple A default

E. Compilation fails.

4 Given the following class:


public class CheckingAccount {

public int amount;


public CheckingAccount(int amount) {
this.amount = amount;
}
public int getAmount() {
return amount;
}

public void changeAmount(int x) {


amount += x;
}
}

And given the following main method, located in another class:


public static void main(String[] args){
CheckingAccount acct = new CheckingAccount((int)(Math.random() *
1000));
//line n1
System.out.println(acct.getAmount());
}

Which three lines, when inserted independently at line n1, cause the program to print a 0
balance?

A. this.amount = 0;

B. amount = 0;

C. acct(0);

D. acct.amount = 0;

E. acct.getAmount() = 0;

F. acct.changeAmount(0);

G. acct.changeAmount(-acct.amount);

H. acct.changeAmount(-acct.getAmount());

5 Given:
public class Test {
static String[][] arr = new String[3][];

private static void doPrint() {


//insert code here
}

public static void main(String[] args) {


String[] class1 = {"A", "B", "C"};
String[] class2 = {"L", "M", "N", "O"};
String[] class3 = {"I", "J"};
arr[0] = class1;
arr[1] = class2;
arr[2] = class3;
Test.doPrint();
}
}

Which code fragment, when inserted at line //insert code here, enables the code to print COJ?
A.
int i = 0;
for (String[] sub : arr) {
int j = sub.length - 1;
for (String str : sub) {
System.out.println(str[j]);
i++;
}
}

B.
for (int i = 0; i < arr.length; i++) {
int j = arr[i].length - 1;
System.out.print(arr[i][j]);
}

C.
int i = 0;
for (String[] sub : arr[][]) {
int j = sub.length;
System.out.print(arr[i][j]);
i++;
}

D.
for (int i = 0; i < arr.length - 1; i++) {
int j = arr[i].length - 1;
System.out.print(arr[i][j]);
i++;
}

6 Given the code fragment:


public static void main(String[] args) {
int ii = 0;
int jj = 7;
for (ii = 0; ii < jj - 1; ii = ii + 2) {
System.out.print(ii + " ");
}
}
What is the result?

A. 2 4

B. 0 2 4 6

C. 0 2 4

D. Compilation fails

7 Given:

public class MyFor3 {

public static void main(String[] args) {


int[] xx = null;
for (int ii : xx) {
System.out.println(ii);
}
}
}

What is the result?

A. null

B. Compilation fails

C. An exception is thrown at runtime

D. 0

8 Given:
TestApp.java

public class TestApp {


public static void main(String[] args) {
TestApp t = new TestApp();
try {
t.doPrint();
t.doList();
} catch (Exception e2) {
System.out.println("Caught " + e2);
}
}
public void doList() throws Exception {
throw new Error("Error");
}
public void doPrint() throws Exception {
throw new RuntimeException("Exception");
}
}

What is the result?

A.

Caught java.lang.RuntimeException: Exception

Exception in thread "main" java.lang.Error: Error

at TestApp.doList(TestApp.java: 14)

at TestApp.main(TestApp.java: 6)

B.

Exception in thread "main" java.lang.Error: Error

at TestApp.doList(TestApp.java: 14)

at TestApp.main(TestApp.java: 6)

C.

Caught java.lang.RuntimeException: Exception

Caught java.lang.Error: Error


D.

Caught java.lang.RuntimeException: Exception

9 Which of the following will print current time?


A
System.out.print(new LocalTime().now());
B.
System.out.print(new LocalTime());

C.

System.out.print(LocalTime.now());

D.

System.out.print(LocalTime.today());

E. None of the above.

10 Given:

public class Test {

public static void main(String[] args) {


if (args[0].equals("Hello") ? false : true) {
System.out.println("Success");
} else {
System.out.println("Failure");
}
}
}
And given the commands:

javac Test.Java

java Test Hello

What is the result?

A. Success

B. Failure

C. Compilation fails.

D. An exception is thrown at runtime

11 Given:

class Cake {

int model;
String flavor;

Cake() {
model = 0;
flavor = "Unknown";
}
}

public class Test {

public static void main(String[] args) {


Cake c = new Cake();
bake1(c);
System.out.println(c.model + " " + c.flavor);
bake2(c);
System.out.println(c.model + " " + c.flavor);
}

public static Cake bake1(Cake c) {


c.flavor = "Strawberry";
c.model = 1200;
return c;
}
public static void bake2(Cake c) {
c.flavor = "Chocolate";
c.model = 1230;
return;
}
}

What is the result?

A.

0 unknown

0 unknown

B.

1200 Strawberry

1200 Strawberry

C.

1200 Strawberry

1230 Chocolate

D. Compilation fails

12 Given:
int i, j = 0;
i = (3 * 2 + 4 + 5);
j = (3 * ((2 + 4) + 5));
System.out.println("i:" + i + "\nj:" + j);

What is the result?


A.

i:16

j:33

B.

i.15

j:33

C.

i:33

j:23

D.

i:15

j:23

13 Which two actions will improve the encapsulation of a class?


A. Changing the access modifier of a field from public to private

B. Removing the public modifier from a class declaration

C. Changing the return type of a method to void

D. Returning a copy of the contents of an array or ArrayList instead of a direct reference


14 Given the code fragment:

float x = 22.00f % 3.00f; =


int y = 22 % 3;
System.out.print(x + ", " + y);

What is the result?

A.

1.0, 1

B.

1.0f, 1

C.

7.33, 7

D. Compilation fails

E. An exception is thrown at runtime

15 Given:
public class Equal {

public static void main(String[] args) {


String str1 = "Java";
String[] str2 = {"J", "a", "v", "a"};
String str3 = "";
for (String str : str2) {
str3 = str3 + str;
}
boolean b1 = (str1 == str3);
boolean b2 = (str1.equals(str3));
System.out.print(b1 + ", " + b2);
}
}

What is the result?

A.

true, false

B.

false, true

C.

true, true

D.

false, false

16 Given:

public class MyClass {

public static void main(String[] args) {


String s = " Java Duke ";
int len = s.trim().length();
System.out.print(len);
}
}

What is the result?


A.

B.

C.

11

D.

10

E. Compilation fails

17 The protected modifier on a Field declaration within a public class


means that the field _____________.
A. Cannot be modified

B. Can be read but not written from outside the class

C. Can be read and written from this class and its subclasses only within the same package

D. Can be read and written from this class and its subclasses defined in any package

18 Given the code fragment:

class Student {
int rollnumber;
String name;
List cources = new ArrayList();

// insert code here

public String toString() {


return rollnumber + " : " + name + " : " + cources;
}
}

public class Test {

public static void main(String[] args) {


List cs = new ArrayList();
cs.add("Java");
cs.add("C");
Student s = new Student(123, "Fred", cs);
System.out.println(s);
}
}

Which code fragment, when inserted at line // insert code here, enables class Test to print 123 :
Fred : [Java, C]?

A.

private Student(int i, String name, List cs) {


/* initialization code goes here */
}

B.

public void Student(int i, String name, List cs) {


/* initialization code goes here */
}

C.

Student(int i, String name, List cs) {


/* initialization code goes here */
}

D.
Student(int i, String name, ArrayList cs) {
/* initialization code goes here */
}

19 Given:
public class Circle {

double radius;
public double area;

public Circle(double r) {
radius = r;
}

public double getRadius() {


return radius;
}

public void setRadius(double r) {


radius = r;
}

public double getArea() {


return /* ??? */;
}
}

class App {

public static void main(String[] args) {


Circle c1 = new Circle(17.4);
c1.area = Math.PI * c1.getRadius() * c1.getRadius();
}
}

The class is poorly encapsulated. You need to change the circle class to compute and return the
area instead.

Which two modifications are necessary to ensure that the class is being properly encapsulated?

A. Remove the area field.

B. Change the getArea( ) method as follows:


public double getArea ( ) { return Math.PI * radius * radius; }
C. Add the following method:
public double getArea ( ) {area = Math.PI * radius * radius; }

D. Change the acess modifier of the SetRadius ( ) method to be protected.

20 Given :

public class Series {

public static void main() {


int arr[] = {1, 2, 3};
for (int var : arr) {
int i = 1;
while (i <= var);
System.out.println(i++);
}
}
}

What is the result?

A.

B.

3
C.

D. Compilation fails

E. The loop executes infinite times

21 Given the following class declarations:


public abstract class Animal
public interface Hunter
public class Cat extends Animal implements Hunter
public class Tiger extends Cat

Which answer fails to compile?

A.
ArrayList<Animal> myList = new ArrayList<>();
myList.add(new Tiger());

B.
ArrayList<Hunter> myList = new ArrayList<>();
myList.add(new Cat());

C.
ArrayList<Hunter> myList = new ArrayList<>();
myList.add(new Tiger());

D.
ArrayList<Tiger> myList = new ArrayList<>();
myList.add(new Cat());
E.
ArrayList<Animal> myList = new ArrayList<>();
myList.add(new Cat());

22 Given the code fragment:

// insert code here


arr[0] = new int[3];
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;

arr[1] = new int[4];


arr[1][0] = 10;
arr[1][1] = 20;
arr[1][2] = 30;
arr[1][3] = 40;

Which two statements, when inserted independently at line // insert code here, enable the code
to compile?

A.
int[][] arr = null;

B.
int[][] arr = new int[2];

C.
int[][] arr = new int[2][];

D.

int[][] arr = new int[][4];


E.

int[][] arr = new int[2][4];

F.
int[][] arr = new int[0][4];

23 Given the for loop construct:

for ( expr1 ; expr2 ; expr3 ) {


statement;
}

Which two statements are true?

A. This is not the only valid for loop construct; there exits another form of for loop constructor.

B. The expression expr1 is optional. it initializes the loop and is evaluated once, as the loop begin.

C. When expr2 evaluates to false, the loop terminates. It is evaluated only after each iteration
through the loop.

D. The expression expr3 must be present. It is evaluated after each iteration through the loop.

24 Given the code fragment:

int a[] = {1, 2, 3, 4, 5};


for (XXX) {
System.out.print(a[e]);
}
Which option can replace xxx to enable the code to print 135?
A.
int e = 0; e <= 4; e++

B.
int e = 0; e < 5; e += 2

C.
int e = 1; e <= 5; e += 1

D.
int e = 1; e < 5; e +=2

25 Given:
public class X implements Z {

public String toString() {


return "X ";
}

public static void main(String[] args) {


Y myY = new Y();
X myX = myY;
Z myZ = myX;
System.out.print(myX);
System.out.print((Y) myX);
System.out.print(myZ);
}
}

class Y extends X {

public String toString() {


return "Y ";
}
}

interface Z {

public String toString();


}
What is the output?

A.

XXX

B.

XYX

C.

YYX

D.

YYY

26 Given:
public class ComputeSum {

public int x;
public int y;
public int sum;

public ComputeSum(int nx, int ny) {


x = nx;
y = ny;
updateSum();
}

public void setX(int nx) {


x = nx;
updateSum();
}

public void setY(int ny) {


x = ny;
updateSum();
}

void updateSum() {
sum = x + y;
}
}
This class needs to protect an invariant on the sum field.

Which three members must have the private access modifier to ensure that this invariant is
maintained?

A. The x field

B. The y field

C. The sum field

D. The ComputerSum ( ) constructor

E. The setX ( ) method

F. The setY ( ) method

27 Given the code fragment:


int[] array = {1, 2, 3, 4, 5};

And given the requirements:

Process all the elements of the array in the order of entry.

Process all the elements of the array in the reverse order of entry.

Process alternating elements of the array in the order of entry.

Which two statements are true?

A. Requirements 1, 2, and 3 can be implemented by using the enhanced for loop.

B. Requirements 1, 2, and 3 can be implemented by using the standard for loop.

C. Requirements 2 and 3 CANNOT be implemented by using the standard for loop.

D. Requirement 1 can be implemented by using the enhanced for loop.

E. Requirement 3 CANNOT be implemented by using either the enhanced for loop or the standard
for loop.
28 Given:

public class Whizlabs {

public static void main(String[] args) {


try {
Double number = Double.valueOf("120D");
} catch (NumberFormatException ex) {
}
System.out.println(number);
}
}

What is the result?

A.

120

B.

120D

C. A NumberFormatException will be thrown.

D. Compilation fails due to error at line 5.

E. Compilation fails due to error at line 8.


29 Which statement is true about the default constructor of a top-
level class?

A. It can take arguments.

B. It has private access modifier in its declaration.

C. It can be overloaded.

D. The default constructor of a subclass always invokes the no-argument constructor of its
superclass.

30
Which statement is true about Java byte code?

A. It can run on any platform.

B. It can run on any platform only if it was compiled for that platform.

C. It can run on any platform that has the Java Runtime Environment.

D. It can run on any platform that has a Java compiler.

E. It can run on any platform only if that platform has both the Java Runtime Environment and a
Java compiler.

31 Given the code fragment:

System.out.println(28 + 5 <= 4 + 29);


System.out.println((28 + 5) <= (4 + 29));

What is the result?

A.

28false29
true

B.

285 < 429 true

C.

true

true

D. compilation fails

32 Given the code fragment:

public class Test {

public static List data = new ArrayList();

// insert code here


{
for (String x : strs) {
data.add(x);
}
return data;
}

public static void main(String[] args) {


String[] d = {"a", "b", "c"};
update(d);
for (String s : d) {
System.out.print(s + " ");
}
}
}

Which code fragment, when inserted at // insert code here, enables the code to compile and and
print a b c?
A.
List update (String[] strs)
B.
static ArrayList update(String[] strs)
C.
static List update (String[] strs)

D.
static void update (String[] strs)

E.
ArrayList static update(String[] strs)

33 What is the name of the Java concept that uses access modifiers
to protect variables and hide them within a class?
A. Encapsulation

B. Inheritance

C. Abstraction

D. Instantiation

E. Polymorphism

34 Given:

public class Palindrome {

public static int main(String[] args) {


System.out.print(args[1]);
return 0;
}
}
And the commands:

javac Palindrome.java

java Palindrome Wow Mom

What is the result?

A. Compilation fails

B. The code compiles, but does not execute.

C.

Paildrome

D.

Wow

E.

Mom

35 Given:
public class Access {

private int x = 0;
private int y = 0;

public static void main(String[] args) {


Access accApp = new Access();
accApp.printThis(1, 2);
accApp.printThat(3, 4);
}

public void printThis(int x, int y) {


x = x;
y = y;
System.out.println("x:" + this.x + " y:" + this.y);
}

public void printThat(int x, int y) {


this.x = x;
this.y = y;
System.out.println("x:" + this.x + " y:" + this.y);
}
}

What is the result?

A.

x:1 y:2

x:3 y:4

B.

x:0 y:0

x:3 y:4

C.

x:1 y:2

x:0 y:0

D.

x:0 y:0

x:0 y:0

36 Given the code fragment:

public static void main(String[] args) { //line 1


int iVar = 100; //line 2
float fVar = 100.100f; //line 3
double dVar = 123; //line 4
iVar = fVar; //line 5
fVar = iVar; //line 6
dVar = fVar; //line 7
fVar = dVar; //line 8
dVar = iVar; //line 9
iVar = dVar; //line 10
} //line 11

Which three lines fail to compile?

A. Line 5

B. Line 7

C. Line 8

D. Line 9

E. Line 10

F. Line 11

37 Given:

public class MarkList {

int num;

public static void graceMarks(MarkList obj4) {


obj4.num += 10;
}

public static void main(String[] args) {


MarkList obj1 = new MarkList();
MarkList obj2 = obj1;
MarkList obj3 = null;
obj2.num = 60;
graceMarks(obj2);
}
}

How many objects are created in the memory runtime?


A. 1

B. 2

C. 3

D. 4

38 Given the content of three files:

A.java

public class A {

public void a() {


}
int a;
}

B.java

public class B {

private int doStuff(){


private int x = 100;
return x++;
}
}

C.java

import java.io.*;
package p1;

class C {

public void main(String fileName) throws IOException {


}
}

Which statement is true?

A. Only the A.java file compiles successfully.

B. Only the B.java file compiles successfully.

C. Only the C.java file compiles successfully.

D. The A.Java and B.java files compile successfully.

E. The B.java and C.java files compile successfully.

F. The A.Java and C.java files compile successfully.

39 What is the proper way to defined a method that take two int
values and returns their sum as an int value?

A.
int sum(int first, int second) { first + second; }

B.
int sum(int first, second) { return first + second; }

C.
sum(int first, int second) { return first + second; }

D.
int sum(int first, int second) { return first + second; }

E.
void sum (int first, int second) { return first + second; }
40 Given the code fragments:

Person.java
public class Person {

String name;
int age;

public Person(String n, int a) {


name = n;
age = a;
}

public String getName() {


return name;
}

public int getAge() {


return age;
}
}

Test.java
public class Test {

public static void checkAge(List<Person> list, Predicate<Person>


predicate) {
for (Person p : list) {
if (predicate.test(p)) {
System.out.println(p.name + " ");
}
}
}

public static void main(String[] args) {


List<Person> iList = Arrays.asList(new Person("Hank", 45), new
Person("Charlie", 40), new Person("Smith", 38));
// line n1
}
}

Which code fragment, when inserted at line n1, enables the code to print Hank?
A.
checkAge(iList, () -> p.getAge() > 40);

B.
checkAge(iList, Person p -> p.getAge() > 40);

C.

checkAge(iList, p -> p.getAge() > 40);

D.

checkAge(iList, (Person p) -> { p.getAge() > 40; });

41 Given the code fragment:

for (int ii = 0; ii < 3; ii++) {


int count = 0;
for (int jj = 3; jj > 0; jj--) {
if (ii == jj) {
++count;
break;
}
}
System.out.print(count);
continue;
}

What is the result?

011
B.

012

C.

123

D.

000

42 Given:

MainTest.java
public class MainTest {

public static void main(int[] args) {


System.out.println("int main " + args[0]);
}

public static void main(Object[] args) {


System.out.println("Object main " + args[0]);
}

public static void main(String[] args) {


System.out.println("String main " + args[0]);
}
}

and commands:

javac MainTest.java

java MainTest 1 2 3
What is the result?

A.

int main 1

B.

Object main 1

C.

String main 1

D. Compilation fails

E. An exception is thrown at runtime

43 Which statement best describes encapsulation?


A. Encapsulation ensures that classes can be designed so that only certain fields and methods of
an object are accessible from other objects.

B. Encapsulation ensures that classes can be designed so that their methods are inheritable.

C. Encapsulation ensures that classes can be designed with some fields and methods declared as
abstract.

D. Encapsulation ensures that classes can be designed so that if a method has an argument
MyType x, any subclass of MyType can be passed to that method.
44 Given the code fragment:
String[] cartoons = {"tom", "jerry", "micky", "tom"};
int counter = 0;
if ("tom".equals(cartoons[0])) {
counter++;
} else if ("tom".equals(cartoons[1])) {
counter++;
} else if ("tom".equals(cartoons[2])) {
counter++;
} else if ("tom".equals(cartoons[3])) {
counter++;
}
System.out.print(counter);

What is the result?

A.

B.

C.

D.

45 View the exhibit:

public class Student {

public String name = "";


public int age = 0;
public String major = "Undeclared";
public boolean fulltime = true;
public void display() {
System.out.println("Name: " + name + " Major: " + major);
}

public boolean isFullTime() {


return fulltime;
}
}

Which line of code initializes a student instance?

A.
Student student1;
B.
Student student1 = Student.new();

C.
Student student1 = new Student();

D.
Student student1 = Student();

46 Given the code fragment:

abstract class Planet {

protected void revolve() { // line n1

abstract void rotate(); // line n2


}

class Earth extends Planet {

void revolve() { // line n3


}

protected void rotate() { // line n4

}
}

Which two modifications, made independently, enable the code to compile?

A. Make the method at line n1 public.

B. Make the method at line n2 public.

C. Make the method at line n3 public.

D. Make the method at line n3 protected.

E. Make the method at line n4 public.

47 Given:

public class Painting {

private String type;

public String getType() {


return type;
}

public void setType(String type) {


this.type = type;
}

public static void main(String[] args) {


Painting obj1 = new Painting();
Painting obj2 = new Painting();
obj1.setType(null);
obj2.setType("Fresco");
System.out.print(obj1.getType() + " : " + obj2.getType());
}
}
What is the result?

A.

: Fresco

B.

null : Fresco

C.

Fresco : Fresco

D. A NullPointerException is thrown at runtime

48 Given:

class Dog {

Dog() {
try {
throw new Exception();
} catch (Exception e) { }
}
}

class Test {

public static void main(String[] args) {


Dog d1 = new Dog();
Dog d2 = new Dog();
Dog d3 = d2;
// do complex stuff
}
}
How many objects have been created when the line // do complex stuff is reached?

A. Two

B. Three

C. Four

D. Six

49 Given:
public class App {

public static void main(String[] args) {


Boolean[] bool = new Boolean[2];

bool[0] = new Boolean(Boolean.parseBoolean("true"));


bool[1] = new Boolean(null);

System.out.println(bool[0] + " " + bool[1]);


}
}

What is the result?

A.

true false

B.

true null

C. Compilation fails

D. A NullPointerException is thrown at runtime


50 Given the code fragment:

public class Person {

String name;

int age = 25;

public Person(String name) {

this(); // line n1

setName(name);

public Person(String name, int age) {

Person(name); // line n2

setAge(age);

//setter and getter methods go here

public String show() {

return name + " " + age;

public static void main(String[] args) {

Person p1 = new Person("Jesse");

Person p2 = new Person("Walter", 52);

System.out.println(p1.show());

System.out.println(p2.show());
}

What is the result?

A.

Jesse 25

Walter 52

B. Compilation fails only at line n1

C. Compilation fails only at line n2

D. Compilation fails at both line n1 and line n2

51 Given:

DoInterface.java

package p1;

public interface DoInterface {

void method1(int n1); // line n1


}

Test.java
package p3;

import p1.DoInterface;

class DoClass implements DoInterface {

public DoClass(int p1) {


}

public void method1(int p1) {} // line n2

private void method2(int p1) {} // line n3


}

public class Test {

public static void main(String[] args) {


DoInterface doi = new DoClass(100); // line n4
doi.method1(100);
doi.method2(100);
}
}

Which change will enable the code to compile?

A. Adding the public modifier to the declaration of method1 at line n1

B. Removing the public modifier from the definition of method1 at line n2

C. Changing the private modifier on the declaration of method 2 public at line n3

D. Changing the line n4 DoClass doi = new DoClass();

52 Which two statements correctly describe checked exception?

A. These are exceptional conditions that a well-written application should anticipate and recover
from.

B. These are exceptional conditions that are external to the application, and that the application
usually cannot anticipate or recover from.

C. These are exceptional conditions that are internal to the application, and that the application
usually cannot anticipate or recover from.
D. Every class that is a subclass of RuntimeException and Error is categorized as checked
exception.

E. Every class that is a subclass of Exception, excluding RuntimeException and its subclasses, is
categorized as checked exception.

53 Given:

public class TestLoop {

public static void main(String[] args) {


int array[] = {0, 1, 2, 3, 4};
int key = 3;
for (int pos = 0; pos < array.length; ++pos) {
if (array[pos] == key) {
break;
}
}
System.out.print("Found " + key + " at " + pos);
}
}

What is the result?

A. Found 3 at 2

B. Found 3 at 3

C. Compilation fails

D. An exception is thrown at runtime

54 Given the code fragment:

public static void main(String[] args) {


StringBuilder sb = new StringBuilder(5);
String s = "";
if (sb.equals(s)) {
System.out.println("Match 1");
} else if (sb.toString().equals(s.toString())) {
System.out.println("Match 2");
} else {
System.out.println("No Match");
}
}

What is the result?

A.

Match 1

B.

Match 2

C.

No Match

D. A NullPointerException is thrown at runtime.

55 Given the following array:

int[] intArr = {8, 16, 32, 64, 128};

Which two code fragments, independently, print each element in this array?

A.
for (int i : intArr) {
System.out.print(intArr[i] + " ");
}
B.
for (int i : intArr) {
System.out.print(i + " ");
}

C.
for (int i = 0; intArr) {
System.out.print(intArr[i] + " ");
i++;
}

D.
for (int i = 0; i < intArr.length; i++) {
System.out.print(i + " ");
}

E.
for (int i = 0; i < intArr.length; i++) {
System.out.print(intArr[i] + " ");
}

56 Which of the following can fill in the blank in this code to make it
compile? (Select 2 options.)

public void method() ____ Exception{


_____ Exception();
}

A. On line 1, fill in throws

B. On line 1, fill in throws new

C. On line 2, fill in throw new

D. On line 2, fill in throws

E. On line 2, fill in throws new


57 Given the code fragment:

interface Contract {
}

class Super implements Contract {


}

class Sub extends Super {


}

public class Ref {

public static void main(String[] args) {


List objs = new ArrayList();
Contract c1 = new Super();
Contract c2 = new Sub(); // line n1
Super s1 = new Sub();

objs.add(c1);
objs.add(c2);
objs.add(s1); // line n2

for (Object itm : objs) {


System.out.println(itm.getClass().getName());
}
}
}

What is the result?

A.

Super

Sub

Sub

B.
Contract

Contract

Super

C. Compilation fails at line n1

D. Compilation fails at line n2

58 Given the code fragment:

int nums1[] = new int[3];


int nums2[] = {1,2,3,4,5};
nums1 = nums2;
for(int x : nums1){
System.out.print(x + ":");
}

What is the result?

A.

1:2:3:4:5:

B.

1:2:3:

C. Compilation fails.

D. An ArrayoutofBoundsException is thrown at runtime.


59 View the exhibit.

class MissingInfoException extends Exception {


}

class AgeOutofRangeException extends Exception {


}

class Candidate {

String name;
int age;

Candidate(String name, int age) throws Exception {


if (name == null) {
throw new MissingInfoException();
} else if (age <= 10 || age >= 150) {
throw new AgeOutofRangeException();
} else {
this.name = name;
this.age = age;
}
}

public String toString() {


return name + " age: " + age;
}
}

Given the code fragment:


public class Test { //line 1
public static void main(String[] args) { //line 2
Candidate c = new Candidate("James", 20); //line 3
Candidate c1 = new Candidate("Williams", 32); //line 4
System.out.println(c); //line 5
System.out.println(c1);//line 6
}
}

Which change enables the code to print the following?

James age: 20
Williams age: 32

A.

Replacing line 2 with


public static void main (String [] args) throws MissingInfoException,
AgeOutofRangeException {

B.

Replacing line 2 with


public static void main (String [] args) throws.Exception {

C.

Enclosing line 3, 4, 5 and 6 within a try block and adding:


catch (MissingInfoException e1) { //code goes here
}
catch (AgeOutofRangeException e2) {//code goes here
}
catch(Exception e3) { //code goes here
}

D.

Enclosing line 3 and line 4 within a try block and adding:


catch (MissingInfoException e2) { //code goes here
}
catch (AgeOutofRangeException e3) {//code goes here
}

60 Given:

public class Case{


public static void main(String[] args){
String product = "Pen";
product.toLowerCase();
product.concat(" BOX".toLowerCase());
System.out.print(product.substring(4, 6));
}
}
What is the result?

A.

box

B.

nbo

C.

bo

D.

nb

E. An exception is thrown at runtime

61 Given the code fragment:

List<String> names = new ArrayList<>();


names.add("Robb");
names.add("Bran");
names.add("Rick");
names.add("Bran");
if (names.remove("Bran")) {
names.remove("Jon");
}
System.out.println(names);

What is the result?


A.

[Robb, Rick, Bran]

B.

[Robb, Rick]

C.

[Robb, Bran, Rick, Bran]

D. An exception is thrown at runtime.

62 Given the code fragment

int var1 = -5;


int var2 = var1--;
int var3 = 0;
if (var2 < 0) {
var3 = var2++;
} else {
var3 = --var2;
}
System.out.println(var3);

What is the result?

A.

-6

B.

-4
C.

-5

D.

E.

F. Compilation fails

63 Which statement is/are true?


I. Default constructor only contains "super();" call.

II. We can't use any access modifier with a constructor.

III. A constructor should not have a return type.

A. Only I.

B. Only II.

C. Only I and II.

D. Only I and III.

E. ALL
64 Given the following main method:

public static void main(String[] args) {


int num = 5;
do {
System.out.print(num-- + " ");
} while (num == 0);
}

What is the result?

A.

543210

B.

54321

C.

421

D.

E. Nothing is printed

65 Given the following code:

public static void main(String[] args) {


String[] planets = {"Mercury", "Venus", "Earth", "Mars"};

System.out.println(planets.length);
System.out.println(planets[1].length());
}
What is the output?

A.

B.

C.

D.

E.

F.

21
66 Which code fragment cause a compilation error?

A.

float flt = 100F;

B.

float flt = (float) 1_11.00;

C.

float flt = 100;

D.

double y1 = 203.22;

float flt = y1;

E.

int y2 = 100;

float flt = (float) y2;

La respuesta D es CORRECTA.

67 Consider

Integer number = Integer.valueOf("808.1");

Which is true about the above statement?

A. The value of the variable number will be 808.1

B. The value of the variable number will be 808


C. The value of the variable number will be 0.

D. A NumberFormatException will be throw.

E. It will not compile.

68 Which statement will empty the contents of a StringBuilder


variable named sb?
A.

sb.deleteAll();

B.

sb.delete(0, sb.size());

C.

sb.delete(0, sb.length());

D.

sb.removeAll();

69 Which of the following exception will be thrown due to the


statement given here?

int array[] = new int[-2];

A. NullPointerException

B. NegativeArraySizeException
C. ArrayIndexOutOfBoundsException

D. IndexOutOfBoundsException

E. This statement does not cause any exception.

70 Given:

Acc.java

package p1;

public class Acc {

int p;
private int q;
protected int r;
public int s;
}

Test.java

package p2;

import p1.Acc;

public class Test extends Acc {

public static void main(String[] args) {


Acc obj = new Test();
}
}

Which statement is true?

A. Both p and s are accessible by obj.

B. Only s is accessible by obj.


C. Both r and s are accessible by obj.

D. p, r, and s are accessible by obj.

71 Given:

public class TestLoop1 {

public static void main(String[] args) {


int a = 0, z = 10;
while (a < z) {
a++;
--z;
}
System.out.print(a + " : " + z);
}
}

What is the result?

A.

5:5

B.

6:4

C.

6:5

D.

5:4
72 Given:

boolean log3 = (5.0 != 6.0) && (4 != 5);


boolean log4 = (4 != 4) || (4 == 4);
System.out.println("log3:" + log3 + "\nlog4" + log4);

What is the result?

A.

log3:false

log4:true

B.

log3:true

log4:true

C.

log3:true

log4:false

D.

log3:false

log4:false
73 Given the code fragment:

System.out.println(2 + 4 * 9 - 3); //Line 21


System.out.println((2 + 4) * 9 - 3); // Line 22
System.out.println(2 + (4 * 9) - 3); // Line 23
System.out.println(2 + 4 * (9 - 3)); // Line 24
System.out.println((2 + 4 * 9) - 3); // Line 25

Which line of codes prints the highest number?

A. Line 21

B. Line 22

C. Line 23

D. Line 24

E. Line 25

74 Consider following interface.

interface Runnable{
public void run();
}

Which of the following will create instance of Runnable type?

A.
Runnable run = () -> {System.out.println("Run");};

B.
Runnable run = () -> System.out.println("Run");

C.
Runnable run = () > System.out.println("Run");

D.
Runnable run = > System.out.println("Run");

E. None of the above.

75 Given the following code for the classes MyException and Test:

MyException.java

public class MyException extends RuntimeException{

Test.java

public class Test {

public static void main(String[] args) {


try {
method1();
} catch (MyException ne) {
System.out.print("A");
}
}

public static void method1() { // line n1


try {
throw Math.random() > 0.5 ? new MyException() : new
RuntimeException();
} catch (RuntimeException re) {
System.out.print("B");
}
}
}
What is the result?

A.

B.

C.

Either A or B

D.

AB

E. A compile time error occurs at line n1

76 Given:

public class SampleClass {

public static void main(String[] args) {


AnotherSampleClass asc = new AnotherSampleClass();
SampleClass sc = new SampleClass();
sc = asc;
System.out.println("sc: " + sc.getClass());
System.out.println("asc: " + asc.getClass());
}
}

class AnotherSampleClass extends SampleClass {


}
What is the result?

A.

sc: class Object

asc: class AnotherSampleClass

B.

sc: class SampleClass

asc: class AnotherSampleClass

C.

sc: class AnotherSampleClass

asc: class SampleClass

D.

sc: class AnotherSampleClass

asc: class AnotherSampleClass

77 Given:

class Jump {

static String args[] = {"lazy", "lion", "is", "always"};

public static void main(String[] args) {


System.out.println(args[1] + " " + args[2] + " " + args[3] + "
jumping");
}
}
And the commands:

javac Jump.java

java Jump crazy elephant is always

What is the result?

A.

lazy lion is jumping

B.

lion is always jumping

C.

crazy elephant is jumping

D.

elephant is always jumping

E. Compilation fails

79 Given:

package p1;

public class Test {

static double dvalue;


static Test ref;

public static void main(String[] args) {


System.out.println(ref);
System.out.println(dvalue);
}
}
What is the result?

A.

p1.Test.class

0.0

0.000000

C.

null

0.0

D. Compilation fails

E. A NullPointerException is thrown at runtime

80 Given:

DoInterface.java

package p1;

public interface DoInterface {

void m1(int n); // line n1

public void m2(int n);


}

DoClass.java
package p3;
public class DoClass implements DoInterface{
int x1, x2;
DoClass(){
this.x1 = 0;
this.x2 = 10;
}
public void m1(int p1) { x1+=p1; System.out.println(x1); } // line n2
public void m2(int p1) { x2+=p1; System.out.println(x2); }
}

Test.java

package p2;
import p1.*;
import p3.*;

class Test {

public static void main(String[] args) {


DoInterface doi = new DoClass(); // line n3
doi.m1(100);
doi.m2(200);
}
}

What is the result?

A.

100

210

B. Compilation fails due to an error in line n1

C. Compilation fails due to an error at line n2

D. Compilation fails due to an error at line n3


81 Given the code fragment:

public class App {

public static void main(String[] args) {


String str1 = "Java";
String str2 = new String("java");
//line n1
{
System.out.println("Equal");
} else {
System.out.println("Not Equal");
}
}
}

Which code fragment, when inserted at line n1, enables the App class to print Equal?

A.

String str3 = str2;


if (str1 == str3)

B.

if (str1.equalsIgnoreCase(str2))

C.

String str3 = str2;


if (str1.equals(str3))

D.
if (str1.toLowerCase() == str2.toLowerCase())
82 Given:

class StaticField {

static int i = 7;

public static void main(String[] args) {


StaticField obj = new StaticField();
obj.i++;
StaticField.i++;
obj.i++;
System.out.println(StaticField.i + " " + obj.i);
}
}

What is the result?

A.

10 10

B.

89

C.

98

D.

7 10

83 Which three are advantages of the Java exception mechanism?

A. Improves the program structure because the error handling code is separated from the normal
program function
B. Provides a set of standard exceptions that covers all the possible errors

C. Improves the program structure because the programmer can choose where to handle
exceptions

D. Improves the program structure because exceptions must be handled in the method in which
they occurred

E. Allows the creation of new exceptions that are tailored to the particular program being created

84 Given the code fragment:

public static void main(String[] args) {


String date = LocalDate.parse("2014-05-
04").format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println(date);
}

What is the result?

A.

May 04, 2014T00:00:00.000

B.

2014-05-04T00:00:00.000

C.

5/4/14T00:00:00.000

D. An exception is thrown at runtime.

85 A method is declared to take three arguments. A program calls


this method and passes only two arguments. What is the results?
A. Compilation fails.

B. The third argument is given the value null.


C. The third argument is given the value void.

D. The third argument is given the value zero.

E. The third argument is given the appropriate falsy value for its declared type. F) An exception
occurs when the method attempts to access the third argument.

86 Given the following code for a Planet object:

public class Planet {

public String name;


public int moons;

public Planet(String name, int moons) {


this.name = name;
this.moons = moons;
}
}

And the following main method:

public static void main(String[] args) {


Planet[] planets = {
new Planet("Mercury", 0),
new Planet("Venus", 0),
new Planet("Earth", 1),
new Planet("Mars", 2)
};

System.out.println(planets);
System.out.println(planets[2]);
System.out.println(planets[2].moons);
}

What is the output?

A.

planets

Earth

1
B.

[LPlanets.Planet;@15db9742

Earth

C.

[LPlanets.Planet;@15db9742

Planets.Planet@6d06d69c

D.

[LPlanets.Planet;@15db9742

Planets.Planet@6d06d69c

[LPlanets.Moon;@7852e922

E.

[LPlanets.Planet;@15db9742

Venus

87 Give:

Test.java

class Alpha {

public String[] main = new String[2];


Alpha(String[] main) {
for (int ii = 0; ii < main.length; ii++) {
this.main[ii] = main[ii] + 5;
}
}

public void main() {


System.out.print(main[0] + main[1]);
}
}

public class Test {

public static void main(String[] args) {


Alpha main = new Alpha(args);
main.main();
}
}

And the commands:

javac Test.java

java Test 1 2

What is the result?

A.

1525

B.

13

C. Compilation fails

D. An exception is thrown at runtime

E. The program fails to execute due to runtime error


88 Given the code fragment:

double discount = 0;
int qty = Integer.parseInt(args[0]);
// line n1;

And given the requirements:

If the value of the qty variable is greater than or equal to 90, discount = 0.5

If the value of the qty variable is between 80 and 90, discount = 0.2

Which two code fragments can be independently placed at line n1 to meet the requirements?

A.
if (qty >= 90) {discount = 0.5; }
if (qty > 80 && qty < 90) {discount = 0.2; }

B.
discount = (qty >= 90) ? 0.5 : 0;
discount = (qty > 80) ? 0.2 : 0;

C.
discount = (qty >= 90) ? 0.5 : (qty > 80) ? 0.2 : 0;

D.
if (qty > 80 && qty < 90) {
discount = 0.2;
} else {
discount = 0;
}
if (qty >= 90) {
discount = 0.5;
} else {
discount = 0;
}
E.
discount = (qty > 80) ? 0.2 : (qty >= 90) ? 0.5 : 0;

89 Given the code fragment:


LocalDate date1 = LocalDate.now();
LocalDate date2 = LocalDate.of(2014, 6, 20);
LocalDate date3 = LocalDate.parse("2014-06-20",
DateTimeFormatter.ISO_DATE);
System.out.println("date1 = " + date1);
System.out.println("date2 = " + date2);
System.out.println("date3 = " + date3);

Assume that the system date is June 20, 2014. What is the result?

A.

date1 = 2014-06-20

date2 = 2014-06-20

date3 = 2014-06-20

B.

date1 = 06/20/2014

date2 = 2014-06-20

date3 = Jun 20, 2014

C. Compilation fails.

D. A DateParseException is thrown at runtime.


90 Given:

class Mid {

public int findMid(int n1, int n2) {


return (n1 + n2) / 2;
}
}

public class Calc extends Mid {

public static void main(String[] args) {


int n1 = 22, n2 = 2;
// insert code here
System.out.print(n3);
}
}

Which two code fragments, when inserted at // insert code here, enable the code to compile and
print 12?

A.

Calc c = new Calc();


int n3 = c.findMid(n1, n2);

B.

int n3 = super.findMid(n1, n3);

C.
Calc c = new Mid();
int n3 = c.findMid(n1, n2);

D.
Mid m1 = new Calc();
int n3 = m1.findMid(n1, n2);

E.
int n3 = Calc.findMid(n1, n2);
91 Given:

public class String1 {

public static void main(String[] args) {


String s = "123";
if (s.length() > 2) {
s.concat("456");
}
for (int x = 0; x < 3; x++) {
s += "x";
}
System.out.println(s);
}
}

What is the result?

A.

123

B.

123xxx

C.

123456

D.

123456xxx

E. Compilation fails
92 Given:
public class ColorTest {

public static void main(String[] args) {


String[] colors = {"red", "blue", "green", "yellow", "maroon",
"cyan"};
int count = 0;
for (String c : colors) {
if (count >= 4) {
break;
} else {
continue;
}
if (c.length() >= 4) {
colors[count] = c.substring(0, 3);
}
count++;
}
System.out.println(colors[count]);
}
}

What is the result?

A.

Yellow

B.

Maroon

C. Compilation fails

D. A StringIndexOutOfBoundsException is thrown at runtime.


93 Given:
public class Triangle {

static double area;


int b = 2, h = 3;

public static void main(String[] args) {


double p, b, h; // line n1
if (area == 0) {
b = 3;
h = 4;
p = 0.5;
}
area = p * b * h; // line n2
System.out.println("Area is " + area);
}
}

What is the result?

A.

Area is 6.0

B.

Area is 3.0

C. Compilation fails at line n1.

D. Compilation fails at line n2.

94 Given the code fragment:

String[] colors = {"red", "blue", "green", "yellow", "maroon", "cyan"};


Which code fragment prints blue, cyan, ?

A.
for (String c : colors) {
if (c.length() != 4) {
continue;
}
System.out.print(c + ", ");
}

B.
for (String c : colors[]) {
if (c.length() <= 4) {
continue;
}
System.out.print(c + ", ");
}

C.
for (String c : String[] colors) {
if (c.length() >= 4) {
continue;
}
System.out.print(c + ", ");
}

D.
for (String c : colors) {
if (c.length() >= 4) {
System.out.print(c + ", ");
continue;
}
}

95 Given:

public class Test {


public static void main(String[] args) {
Test ts = new Test();
System.out.print(isAvailable + " ");
isAvailable = ts.doStuff();
System.out.println(isAvailable);
}

public static boolean doStuff() {


return !isAvailable;
}
static boolean isAvailable = false;
}

What is the result?

A.

true true

B.

true false

C.

false true

D.

false false

E. Compilation fails

96 Given the code fragment:

if (aVar++ < 10) {


System.out.println(aVar + " Hello World!");
} else {
System.out.println(aVar + " Hello Universe!");
}

What is the result if the integer aVar is 9?

A.

10 Hello World!

B.

Hello Universe!

C.

Hello World!

D. Compilation fails.

97 Given:

public class SuperTest {

public static void main(String[] args) {


// statement1
// statement2
// statement3
}
}

class Shape {

public Shape() {
System.out.println("Shape: constructor");
}

public void foo() {


System.out.println("Shape: foo");
}
}

class Square extends Shape {

public Square() {
super();
}

public Square(String label) {


System.out.println("Square: constructor");
}

public void foo() {


super.foo();
}

public void foo(String label) {


System.out.println("Square: foo");
}
}

What should statement1, statement2, and statement3, be respectively, in order to produce the
result?

Shape: constructor

Square: foo

Shape: foo

A.
Square square = new Square("bar");
square.foo("bar");
square.foo();

B.
Square square = new Square("bar");
square.foo("bar");
square.foo("bar");

C.
Square square = new Square();
square.foo();
square.foo(bar);

D.
Square square = new Square();
square.foo();
square.foo("bar");

E.
Square square = new Square();
square.foo();
square.foo();

F.
Square square = new Square();
square.foo("bar");
square.foo();

98 Consider following method

default void print(){


}

Which statement is true?

A. This method is invalid.

B. This method can be used only in an interface.

C. This method can return anything.

D. This method can be used only in an interface or an abstract class.

E. None of above.
99 Given:

interface Pet {
}

class Dog implements Pet {


}

public class Beagle extends Dog {


}

Which three are valid?

A.
Pet a = new Dog();

B.
Pet b = new Pet();

C.
Dog f = new Pet();

D.
Dog d = new Beagle();

E.
Pet e = new Beagle();
F.
Beagle c = new Dog();

100 Given the code format:


class DBConfiguration {

String user;
String password;
}
And,

public class DBHandler {


DBConfiguration configureDB(String uname, String password) {
// insert code here
}
public static void main(String[] args) {
DBHandler r = new DBHandler();
DBConfiguration dbConf = r.configureDB("manager", "manager");
}
}

Which code fragment must be inserted at line 6 to enable the code to compile?

A.
DBConfiguration f;
return f;

B.
return DBConfiguration;

C.
return new DBConfiguration();

D.
retutn 0;

101 Given
public class Test {
public static void main(String[] args) {
Integer num = Integer.parseInt(args[1]);
System.out.println("Number is : " + num);
}
}

And the commands:


javac Test.java
java Test 12345

What is the result?


A. Number us : 12345
B. A NullPointerException is thrown at runtime
C. A NumberFormatException is thrown at runtime
D. An ArrayIndexOutOfBoundException is thrown at runtime.

102 Given
public class Series {

private boolean flag;

public void displaySeries() {


int num = 2;
while (flag) {
if (num % 7 == 0) {
flag = false;
}
System.out.print(num);
num += 2;
}
}

public static void main(String[] args) {


new Series().displaySeries();
}
}

What is the result?

A.

2 4 6 8 10 12

B.

2 4 6 8 10 12 14
C. Compilation fails

D. The program prints multiple of 2 infinite times

E. The program prints nothing

103 Which two are benefits of polymorphism?


A. Faster code at runtime

B. More efficient code at runtime

C. More dynamic code at runtime

D. More flexible and reusable code

E. Code that is protected from extension by other classes

104 Given:
public class StringReplace {

public static void main(String[] args) {


String message = "Hi everyone!";
System.out.println("message = " + message.replace("e", "X"));
}
}

What is the result?

A.
message = Hi everyone!

B.
message = Hi XvXryonX!

C. A compile time error is produced.

D. A runtime error is produced.


E.
message =

F.
message = Hi Xveryone!

105 Given:
public class TestScope {

public static void main(String[] args) {


int var1 = 200;
System.out.print(doCalc(var1));
System.out.print(" " + var1);
}

static int doCalc(int var1) {


var1 = var1 * 2;
return var1;
}
}

What is the result?


A.
400 200
B.
200 200
C.
400 400
D. Compilation fails.

106 Given:
public class TestLoop {
public static void main(String[] args) {
float myarray[] = {10.20f, 20.30f, 30.40f, 50.60f};
int index = 0;
boolean isFound = false;
float key = 30.40f;
//line 7 insert code here
System.out.println(isFound);
}
}

Which code fragment, when inserted at line 7, enables the code print true?

A.
while(key == myarray[index++]){

isFound = true;
}
B.
while(index <= 4){

if(key == myarray[index]){
index++;
isFound = true;
break;
}
}
C.
while(index++ < 5){

if(key == myarray[index]){
isFound = true;
}
}
D.
while(index < 5){

if(key == myarray[index]){
isFound = true;
break;
}
index++;
}

107 Which three statements are benefits of encapsulation?


A. Allows a class implementation to change without changing the clients

B. Protects confidential data from leaking out of the objects

C. Prevents code from causing exceptions

D. Enables the class implementation to protect its invariants

E. Permits classes to be combined into the same package

F. Enables multiple instances of the same class to be created safely

108 Given the code fragment:


int row = 10;
for (; row > 0;) {
int col = row;
while (col >= 0) {
System.out.print(col + " ");
col -= 2;
}
row = row / col;
}

What is the result?

A.

10 8 6 4 2 0

B.

10 8 6 4 2

C. AnArithmeticException is thrown at runtime

D. The program goes into an infinite loop outputting: 10 8 6 4 2 0. . .

E. Compilation fails

109 Given:
public static void main(String[] args) {
String theString = "Hello World";
System.out.println(theString.charAt(11));
}

What is the result?

A. The program prints nothing

B.

C. A StringIndexOutOfBoundsException is thrown at runtime.

D. An ArrayIndexOutOfBoundsException is thrown at runtime.

E. A NullPointerException is thrown at runtime.

110 Given:
public class Whizlabs {

public static void main(String[] args) {


LocalDate date = LocalDate.of(2015, 3, 26);
Period p = Period.ofDays(1);
System.out.println(date.plus(p));
}
}

What is the output?

A.

2015-03-27

B.

2015-04-27

C.

2015-02-27

D. Compilation fails due to error at line 6.

E. Compilation fails due to error at line 8.


111 Given the code fragment:
int[] lst = {1, 2, 3, 4, 5, 4, 3, 2, 1};
int sum = 0;
for (int frnt = 0, rear = lst.length - 1; frnt < 5 && rear >= 5; frnt++,
rear--) {
sum = sum + lst[frnt] + lst[rear];
}
System.out.print(sum);

What is the result?

A.

20

B.

25

C.

29

D. Compilation fails

E. An ArrayIndexOutOfBoundsException is thrown at runtime

112 Given:
class Base {

public static void main(String[] args) {


System.out.println("Base " + args[2]);
}
}

public class Sub extends Base {

public static void main(String[] args) {


System.out.println("Overriden " + args[1]);
}
}
And the commands:
javac Sub.java
java Sub 10 20 30

What is the result?

A.

Base 30

B.

Overridden 20

C.

Overridden 20

Base 30

D.

Base 30

Overridden 20

113 Which three statements are true about the structure of a Java
class?
A. A class can have only one private constructor.

B. A method can have the same name as a field.

C. A class can have overloaded static methods.

D. A public class must have a main method.

E. The methods are mandatory components of a class.

F. The fields need not be initialized before use.


114 Given:
public class Test {

public static void main(String[] args) {


int day = 1;
switch (day) {
case "7":
System.out.print("Uranus");
case "6":
System.out.print("Saturn");
case "1":
System.out.print("Mercury");
case "2":
System.out.print("Venus");
case "3":
System.out.print("Earth");
case "4":
System.out.print("Mars");
case "5":
System.out.print("Jupiter");
}
}
}

Which two modifications, made independently, enable the code to compile and run?

A. Adding a break statement after each print statement

B. Adding a default section within the switch code-block

C. Changing the string literals in each case label to integer

D. Changing the type of the variable day to String

E. Arranging the case labels in ascending order

115 Given the fragment:


float var1 = (12_345.01 >= 123_45.00) ? 12_456 : 14_56.02f;
float var2 = var1 + 1024;
System.out.print(var2);

What is the result?

A.
13480.0

B.

13480.02

C. Compilation fails

D. An exception is thrown at runtime

116 Given:
public class App {

public static void main(String[] args) {


int i = 10;
int j = 20;
int k = j += i / 5;
System.out.print(i + " : " + j + " : " + k);
}
}

What is the result?

A.

10 : 22 : 20

B.

10 : 22 : 22

C.

10 : 22 : 6

D.

10 : 30 : 6
117 Given the code fragment:
public static void main(String[] args) { //line 1
int x = 5; //line 2
while (isAvailable(x)) { //line 3
System.out.print(x); //line 4
//line 5
} //line 6
} //line 7
//line 8
public static boolean isAvailable(int x) { //line 9
return x-- > 0 ? true : false; //line 10
} //line 11

Which modification enables the code to print 54321?


A. Replace line 4 with System.out.print(--x);
B. At line 5, insert x--;
C. Replace line 4 with --x; and, at line 5, insert System.out.print(x);
D. Replace line 10 With return (x > 0) ? false : true;

118 Given:
class Caller {

private void init() {


System.out.println("Initialized");
}

public void start() {


init();
System.out.println("Started");
}
}

public class TestCall {

public static void main(String[] args) {


Caller c = new Caller();
c.start();
c.init();
}
}

What is the result?


A.

Initialized

Started

B.

Initialized

Started

Initialized

C. Compilation fails

D. An exception is thrown at runtime

119 Given:
interface Readable {

public void readBook();

public void setBookMark();


}

abstract class Book implements Readable { // line n1

public void readBook() {


}
// line n2
}
class EBook extends Book{ // line n3
public void readBook(){

// line n4
}

Which options enable the code to compile?


A. Replace the code fragment at line n1 with:

class Book implements Readable {

B. At line n2 insert:

public abstract void setBookMark();

C. Replace the code fragment at line n3 with:

abstract class EBook extends Book{

D. At line n4 insert:

public void setBookMark() { }

120 Which usage represents a valid way of compiling java source file
with the name "Main"?
A. javac Main.java

B. java Main.class

C. java Main.java

D. javac Main

E. java Main

121 Given:
public class MarkList {
int num;

public static void graceMarks(MarkList obj4) {


obj4.num += 10;
}

public static void main(String[] args) {


MarkList obj1 = new MarkList();
MarkList obj2 = obj1;
MarkList obj3 = null;
obj2.num = 60;
graceMarks(obj2);
}
}

How many MarkList instances are created in memory at runtime?

A. 1

B. 2

C. 3

D. 4

122 Given the code fragment?


public class Test {

public static void main(String[] args) {

Test t = new Test();

int[] arr = new int[10];

arr = t.subArray(arr, 0, 2);

// insert code here

}
Which method can be inserted at line // insert code here to enable the
code to compile?
A.
public int[] subArray(int[] src, int start, int end) {
return src;
}

B.
public int subArray(int src, int start, int end) {
return src;
}
C.
public int[] subArray(int src, int start, int end) {
return src;
}
D.
public int subArray(int[] src, int start, int end) {
return src;
}

123 Given:
public class Msg {

public static String doMsg(char x) {


return "Good Day!";
}

public static String doMsg(int y) {


return "Good Luck!";
}

public static void main(String[] args) {


char x = 8;
int z = '8';
System.out.println(doMsg(x));
System.out.print(doMsg(z));
}
}

What is the result?

A.

Good Day!

Good Luck!

B.

Good Day!
Good Day!

C.

Good Luck!

Good Day!

D.

Good Luck!

Good Luck!

E. Compilation fails

124 Given:
class X {

int x1, x2, x3;


}

class Y extends X {

int y1;

Y() {
x1 = 1;
x2 = 2;
y1 = 10;
}
}

class Z extends Y {

int z1;

Z() {
x1 = 3;
y1 = 20;
z1 = 100;
}
}

public class Test3 {


public static void main(String[] args) {
Z obj = new Z();
System.out.println(obj.x3 + ", " + obj.y1 + ", " + obj.z1);
}
}

Which constructor initializes the variable x3?

A. Only the default constructor of class X

B. Only the no-argument constructor of class Y

C. Only the no-argument constructor of class Z

D. Only the default constructor of object class

125 Given the code fragment:


int x = 100;
int a = x++;
int b = ++x;
int c = x++;
int d = (a < b) ? (a < c) ? a : (b < c) ? b : c;
System.out.println(d);

What is the result?

A.

100

B.

101

C.

102

D.

103

E. Compilation fails
126 Which of the following can fill in the blank in this code to make it
compile?
Exam.java
public class Exam {

void method() {
}
}

OCAJP.java
public class OCAJP extends Exam{
_____ void method(){}
}

A. abstract

B. final

C. private

D. default

E. int

127 Given the code fragment:


public class Test {
public static void main(String[] args) {
boolean isChecked = false;
int arry[] = {1, 3, 5, 7, 8, 9};
int index = arry.length;
while (~code1~) {
if (arry[index - 1] % 2 == 0) {
isChecked = true;
}
~code2~
}
System.out.print(arry[index] + ", " + isChecked);
}
}
Which set of changes enable the code to print 1, true?

A. Replacing with index > 0 and replacing with index--;


B. Replacing with index > 0 and replacing with --index;
C. Replacing with index > 5 and replacing with --index ;
D. Replacing with index and replacing with --index ;

128 Given
public class App {
// Insert code here
System.out.print("Welcome to the world of Java");
}
}

Which two code fragments, when inserted independently at line // Insert code here, enable the
program to execute and print the welcome message on the screen?

A. static public void main (String[] args) {


B. static void main (String[] args) {
C. public static void Main (String[] args) {

D. public static void main (String[] args) {


E. public void main (String[] args) {

129 Given:
public class TestField {

int x;
int y;

public void doStuff(int x, int y) {


this.x = x;
y = this.y;
}

public void display() {


System.out.print(x + " " + y + " : ");
}

public static void main(String[] args) {


TestField m1 = new TestField();
m1.x = 100;
m1.y = 200;
TestField m2 = new TestField();
m2.doStuff(m1.x, m1.y);
m1.display();
m2.display();
}
}

What is the result?

A. 100 200 : 100 200 :

B. 100 0 : 100 0 :

C. 100 200 : 100 0 :

D. 100 0 : 100 200 :

130 Given:
public static void main(String[] args) {
String ta = "A ";
ta = ta.concat("B ");
String tb = "C ";
ta = ta.concat(tb);
ta.replace('C', 'D');
ta = ta.concat(tb);
System.out.println(ta);
}

What is the result?

A. ABCD

B. ACD

C. ABC

D. ABD
E. ABDC

F. ABCC

141 Given the code fragment:


public class Test {

public static void main(String[] args) {


// line n1
switch (x) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
}
}
}

Which three code fragments can be independently inserted at line nl to enable the code to print
one?
A. Byte x = 1;
B. short x = 1;
C. String x = "1";
D. Long x = 1;
E. Double x = 1;
F. Integer x = new Integer("1");

142 Given:
class Vehicle {

String type = "4W";


int maxSpeed = 100;

Vehicle(String type, int maxSpeed) {


this.type = type;
this.maxSpeed = maxSpeed;
}
}

class Car extends Vehicle {

String trans;

Car(String trans) { // line n1


this.trans = trans;
}

Car(String type, int maxSpeed, String trans) {


super(type, maxSpeed);
this(trans); //line n2
}
}

And given the code fragment:


public static void main(String[] args) {
Car c1 = new Car("Auto");
Car c2 = new Car("4W", 150, "Manual");
System.out.println(c1.type + " " + c1.maxSpeed + " " + c1.trans);
System.out.println(c2.type + " " + c2.maxSpeed + " " + c2.trans);
}

What is the result?

A. 4W 100 Auto

4W 150 Manual

B. null 0 Auto

4W 150 Manual

C. Compilation fails only at line n1


D. Compilation fails only at line n2
E. Compilation fails at both line n1 and line n2

143 Given
public static void main(String[] args){
ArrayList<String> list = new ArrayList<>();

list.add("SE");
list.add("EE");
list.add("ME");
list.add("SE");
list.add("EE");

list.remove("SE");

System.out.print("Values are : " + list);


}

What is the result?

A. Values are : [EE, ME]


B. Values are : [EE, EE, ME]
C. Values are : [EE, ME, EE]
D. Values are : [SE, EE, ME, EE]
E. Values are : [EE, ME, SE, EE]

144 Given:
import java.util.ArrayList;
import java.util.List;

public class Whizlabs{


public static void main(String[] args){
List<Integer> list = new ArrayList<>();
list.add(21); list.add(15);
list.add(30); list.add(11);
list.add(2);
//insert here
System.out.println(list);
}
}

Which inserted at line 11, will provide the following output?


[21, 15, 11]

A. list.removeIf(e > e % 2 != 0);


B. list.removeIf(e -> e % 2 == 0);
C. list.remove(e -> e % 2 == 0);
D. None of the above.
145 Given the code in a file Traveler.java:
Traveler.java
class Tours {

public static void main(String[] args) {


System.out.print("Happy Journey! " + args[1]);
}
}

public class Traveler {

public static void main(String[] args) {


Tours.main(args);
}
}

And the commands:


javac Traveler.java
java Traveler Java Duke

What is the result?

A. Happy Journey! Duke

B. Happy Journey! Java

C. An exception is thrown at runtime

D. The program fails to execute due to a runtime error

146 Given the code fragment:


String color = "teal";

switch (color) {
case "Red":
System.out.println("Found Red");
case "Blue":
System.out.println("Found Blue");
break;
case "Teal":
System.out.println("Found Teal");
break;
default:
System.out.println("Found Default");
}

What is the result?

A. Found Red
Found Default

B. Found Teal

C. Found Red
Found Blue
Found Teal

D. Found Red
Found Blue
Found Teal
Found Default

E. Found Default

147 Given:
public class FieldInit {

char c;
boolean b;
float f;

void printAll() {
System.out.println("c = " + c);
System.out.println("c = " + b);
System.out.println("c = " + f);
}

public static void main(String[] args) {


FieldInit f = new FieldInit();
f.printAll();
}
}

What is the result?


A. c = null
b = false
f = 0.0F

B. c = 0
b = false
f = 0.0f

C. c = null
b = true
f = 0.0

D. c =
b = false
f = 0.0

148 Given the code fragment:


public static void main(final String[] args) throws Exception {
String[][] arr = {{"A", "B", "C"}, {"D", "E"}};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
if (arr[i][j].equals("B")) {
break;
}
}
continue;
}
}

What is the result?

A. ABC
B. ABCDE
C. ABDE
D. Compilation fails
149
Which two are Java Exception classes?

A. SecurityException

B. DuplicatePathException

C. IllegalArgumentException

D. TooManyArgumentsException

150 Given:
class Alpha {

int ns;
static int s;

Alpha(int ns) {
if (s < ns) {
s = ns;
this.ns = ns;
}
}

void doPrint() {
System.out.println("ns = " + ns + " s = " + s);
}
}

public class TestA {

public static void main(String[] args) {


Alpha ref1 = new Alpha(50);
Alpha ref2 = new Alpha(125);
Alpha ref3 = new Alpha(100);
ref1.doPrint();
ref2.doPrint();
ref3.doPrint();
}
}

What is the result?


A. ns = 50 s = 125
ns = 125 s = 125
ns = 100 s = 125

B. ns = 50 s = 125
ns = 125 s = 125
ns = 0 s = 125

C. ns = 50 s = 50
ns = 125 s = 125
ns = 100 s = 100

D. ns = 50 s = 50
ns = 125 s = 125
ns = 0 s = 125

You might also like