Está en la página 1de 46

PRUEBA BIMESTRAL OCJP

PREGUNTA 1

Elija la o las sentencias que se deben reemplazar en lugar de //INSERTAR CODIGO AQUÍ
para que la salida en consola sea:

xaby
A. List<String> coleccion1=new ArrayList<String>();
B. Set<String> coleccion1=new HashSet<String>();
C. Set<String> coleccion1=new LinkedHashSet<String>();
D. Set<String> coleccion1=new TreeSet<String>();
E. List<String> coleccion1=new List<String>();
F. Set<String> coleccion1=new Set<String>();

PREGUNTA 2

Dado el siguiente código:

public class Ejercicio2 {


public static void main(String[] args) {
//INSERTAR CODIGO AQUÍ
coleccion1.add("x");
coleccion1.add("a");
coleccion1.add("b");
coleccion1.add("y");
coleccion1.add("x");
coleccion1.add(null);
System.out.println(coleccion1.size());
}

}
Elija la o las sentencias que se deben reemplazar en lugar de //INSERTAR CODIGO AQUÍ
para que la salida en consola sea 5

G. List<String> coleccion1=new ArrayList<String>();


H. Set<String> coleccion1=new HashSet<String>();
I. Set<String> coleccion1=new LinkedHashSet<String>();
J. Set<String> coleccion1=new TreeSet<String>();
K. List<String> coleccion1=new List<String>();
L. Set<String> coleccion1=new Set<String>();
M. Ninguna de las anteriores
PREGUNTA 3

Dado el siguiente código:


public class Producto {
private int id;
private String nombre;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Producto(int id, String nombre) {
super();
this.id = id;
this.nombre = nombre;
}
public String toString() {
return "Producto [id=" + id + ", nombre=" + nombre + "]";
}
}
public class Ejercicio3 {

public static void main(String[] args) {


//INSERTAR CODIGO AQUÍ
mapa.put(10, new Producto(10, "PoliBurguer"));
mapa.put(20, new Producto(20, "CantaClaro"));
mapa.put(5, new Producto(5, "Combito"));
mapa.put(8, new Producto(8, "Papas"));
System.out.println(mapa);
}
}
Elija la o las sentencias que se deben reemplazar en lugar de //INSERTAR CODIGO AQUÍ
para garantizar que la salida en consola sea:
{5=Producto [id=5, nombre=Combito], 8=Producto [id=8, nombre=Papas],
10=Producto [id=10, nombre=PoliBurguer], 20=Producto [id=20,
nombre=CantaClaro]}

N. Map<Integer,Producto> mapa=new TreeMap<Integer,Producto>();


O. Map<Producto,Integer> mapa=new TreeMap< Producto,Integer>();
P. Map<Integer,Producto> mapa=new HashMap<Integer,Producto>();
Q. Map<Producto,Integer> mapa=new HashMap< Producto,Integer>();
R. Map<Integer,Producto> mapa=new
LinkedHashMap<Integer,Producto>();
S. Map<Producto,Integer> mapa=new LinkedHashMap <
Producto,Integer>();
T. Map<Integer,Producto> mapa=new Map<Integer,Producto>();
U. Map<Producto,Integer> mapa=new Map< Producto,Integer>();
V. Ninguna de las anteriores
PREGUNTA 4

Dado el siguiente código:


public class Producto {
private int id;
private String nombre;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Producto(int id, String nombre) {
super();
this.id = id;
this.nombre = nombre;
}
public String toString() {
return "Producto [id=" + id + ", nombre=" + nombre + "]";
}
}
public class Ejercicio4 {

/**
* @param args
*/
public static void main(String[] args) {
List<Producto> lista=new ArrayList<Producto>();
lista.add(new Producto(10, "PoliBurguer"));
lista.add(new Producto(20, "CantaClaro"));
lista.add(new Producto(5, "Combito"));
lista.add(new Producto(8, "Papas"));
Collections.sort(lista);
System.out.println(lista);
}

Cuál es la salida en consola al ejecutar Ejercicio4?

A. Imprime la lista de productos ordenados por id


B. Imprime la lista de productos ordenadas por nombre
C. Imprime la lista de productos en el orden que fueron ingresados
D. Error de compilación
E. Error de ejecución

PREGUNTA 5
Dado el siguiente código:

package ocjp.epn;
class ClaseA{
public static void main(String args[]){
System.out.println(args[0]);
}
}

Asumiendo que se ha compilado el programa y que el archivo ClaseA.class se encuentra en el


directorio compilados
Cuál de los siguientes comandos produce la salida en consola: ocjp? (Elija todas las que
aplican)
A) javac –cp complilados ocjp.epn.ClaseA
B) java –cp compilados ocjp.epn.ClaseA
C) java –cp compilados ocjp.epn.ClaseA ocjp
D) javac –cp compilados ocjp.epn.ClaseA
E) java –cp compilados ocjp.epn.ClaseA ocjp examen

PREGUNTA 6

Dado el siguiente código:

package ocjp.epn;
class ClaseA{
public static void main(String args[]){
System.out.println(args[0]);
}
}

Asumiendo que se ha compilado el programa y que el archivo ClaseA.class se encuentra en el


directorio compilados

Si se ejecuta el comando:
java –cp compilados ocjp.epn.ClaseA
Cuál de las siguientes afirmaciones es correcta?
A) No imprime nada en consola
B) Se produce un NullPointer Exception
C) Se produce un ArrayIndexOutOfBoundsException
D) Existe un error en el comando
PREGUNTA 7

public class Test {


public static void main(String[] args) {
try{
File f=new File("archivo1.txt");
f.createNewFile();
System.out.println("e");
}catch(NullPointerException npe){
System.out.println("a");
}catch(Exception fn){
System.out.println("b");
}catch(IOException e){
System.out.println("c");
}finally{
System.out.println("d");
}
System.out.println("f");

}
}

Si se produce una excepción del tipo IOException al tratar de crear el archivo.


Cuál es la salida en consola?
A) Error de compilación
B) Error de ejecución
C) Imprime e b d f
D) Imprime b d
E) Imprime b c d f
F) Imprime b d f
G) Ninguna de las anteriores

PREGUNTA 8
public class ClaseC {
public static void main(String[] args) {
File f = new File("archivo1.txt");
f.createNewFile();
try {
FileWriter fw = new FileWriter(f);
BufferedWriter br = new BufferedWriter(fw);
br.write("ocjp");
br.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}

Asumiendo que se han hecho todos los import necesarios, cuál es el resultado de
ejecutar la ClaseC?
A. Error de compilación
B. Error de ejecución
C. Se crea un archivo llamado archivo1.txt pero sin contenido
D. Se crea un archivo llamado archivo1.txt con la cadena ocjp

PREGUNTA 9
public class ClaseD {
public static void main(String[] args) {
File f1 = new File("archivo1.txt");
File f2=new File("archivo2.txt");
//Insertar código aquí
}
}

Asumiendo que se han hecho todos los import necesarios, cuál de las siguientes
afirmaciones es correcta? (Elija todas las que aplican)
A. El código no compila porque no se han capturado excepciones
B. Si en lugar de //insertar código aquí, se coloca la sentencia f1.renameTo(f2); al
ejecutar el programa el archivo archivo1.txt cambia su nombre a archivo2.txt
C. Si en lugar de //insertar código aquí, se coloca la sentencia f1.renameTo(f2); al
ejecutar el programa el archivo archivo2.txt cambia su nombre a archivo1.txt
D.Si en lugar de //insertar código aquí, se coloca la sentencia
f1.renameTo(“archivo3.txt”); al ejecutar programa el archivo archivo1.txt cambia
su nombre a archivo3.txt

PREGUNTA 10
public class ClaseD {
public static void main(String[] args) {
int arreglo1[][]=new int[2][];
arreglo1[0][1]=4;
arreglo1[1][0]=3;
int resultado=arreglo1[0][0]+arreglo1[0][1];
System.out.println(resultado);
}
}

Cuál es la salida en consola?


a) Error de compilación
b) En ejecución se produce un ArrayIndexOutOfBoundsException
c) En ejecución se produce un NullPointerException
d) 7
e) 8
f) 5
g) Ninguna de las anteriores
PREGUNTA 11
public class ClaseC {
public static void main(String[] args) {
int arreglo1[]=new int[]{3,4,6};
int resultado=0;
for (int i = 0; i < arreglo1.length; i++) {
resultado=resultado+arreglo1[i++];
}
int arreglo2[][]=new int[1][];
arreglo2[0]=arreglo1;
arreglo2[0][0]=resultado+arreglo2[0][1];
System.out.println(arreglo2[0][0]);
}
}Cuál es la salida en consola?
a) Error de compilación
b) Error de ejecución
c) 11
d) 16
e) 13
f) Ninguna de las anteriores

PREGUNTA 12

public class ClaseC {


public static void main(String[] args) {
int arreglo1[]=new int[]{3,4};
int resultado=0;
for (int i = 0; i < arreglo1.length(); i++) {
resultado=resultado+arreglo1[i];
}
System.out.println(resultado);
}
}
Cuál es la salida en consola?
a) Error de compilación
b) Error de ejecución
c) 7
d) 8
e) 9
f) Ninguna de las anteriores
PREGUNTA 13

public class ClaseM {


{System.out.println("B2");}
{System.out.println("B1");}
public ClaseM(int x){
System.out.println("Constructor M");
}
public static void main(String[] args) {
new ClaseP();
}
public ClaseM(){}
}
class ClaseP extends ClaseM{
public ClaseP(){
ClaseP("xx");
System.out.println("Constructor P1");
}
public ClaseP(String a){
System.out.println("Constructor P2");
}
}

Cuál es la salida en consola?


a) Error de compilación
b) Error de ejecución
c) B2 B1 Constructor M
d) B2 B1 Constructor M Constructor P2 Constructor P1
e) Ninguna de las anteriores

PREGUNTA 14
public class ClaseM {
{System.out.println("B2");}
{System.out.println("B1");}
public ClaseM(int x){
System.out.println("Constructor M");
}
public static void main(String[] args) {
new ClaseP();
}
public ClaseM(){}
}
class ClaseP extends ClaseM{
public ClaseP(){
this("xx");
System.out.println("Constructor P1");
}
public ClaseP(String a){
System.out.println("Constructor P2");
}
}
Cuál es la salida en consola?
a) Error de compilación
b) Error de ejecución
c) B2 B1 Constructor M
d) B2 B1 Constructor M Constructor P2 Constructor P1
e) Ninguna de las anteriores

PREGUNTA 15
IMPORTANTE: Una clase Abstracta si puede tener constructor

abstract class ClaseAbstracta {


public ClaseAbstracta(){
System.out.println("constructor 1");
}
abstract void metodo1();
}

class Hija extends ClaseAbstracta{


public void metodo1(){
System.out.println("m1");
}
}
public class Test{
public static void main(String[] args) {
ClaseAbstracta ca=new Hija();
ca.metodo1();
}
}

Cuál es la salida en consola?


A. Error de compilación
B. Error de ejecución
C. m1
D. Constructor 1 m1
E. Ninguna de las anteriores

PREGUNTA 16
abstract class ClaseAbstracta {
public ClaseAbstracta(String x){
System.out.println("Constructor 1");
}
public void metodo1(){
System.out.println("m1 A");
}
}

class Hija extends ClaseAbstracta{


public void metodo1(){
System.out.println("m1 H");
}
}
public class Test{
public static void main(String[] args) {
ClaseAbstracta ca=new Hija();
ca.metodo1();
}
}

Cuál es la salida en consola?


A. Error de compilación
B. Error de ejecución
C. m1 A
D. m1 H
E. Constructor 1 M1 H
F. Ninguna de las anteriores

PREGUNTA 17
public class ClaseC {

public static void main(String[] args) {


String var=null;
new ClaseC().validar(var);
}
public void validar(String cadena){
if(cadena==null && cadena.length()>0){
System.out.println("OK");
}else{
System.out.println("MAL");
}
}
}

Cuál afirmación es correcta? (Elija todas las que aplican)


A) Error de compilación
B) Error de ejecución
C) Imprime OK
D) Imprime MAL
E) Si en lugar de && se coloca &, entonces imprime MAL
F) Si en lugar de && se coloca &, entonces se produce un error de
ejecución
G) Si en lugar de && se coloca &, entonces el código no compila
PREGUNTA 18
public class ClaseG {
int x;
int y;
public ClaseG(int z){
x=z;
}
public void metodo1(){
if(x++>1){
y=2;
}
}
public static void main(String[] args) {
ClaseH cf1=new ClaseH(2);
cf1.metodo1();
cf1.metodo1();
System.out.println(cf1.y+cf1.x);
}
}
class ClaseH extends ClaseG{
public ClaseH(int valor){
super(valor);
}
}

Cuál es la salida en consola?


A) Error de compilación
B) No hay errores de compilación, Escriba la salida:

PREGUNTA 19
public class ClaseExterna {
class ClaseInterna {
public void metodo1() {
System.out.println("m1 interna");
}
}
public void metodo1(){
System.out.println("m1 externa");
}
}
class ClaseB{
public static void main(String[] args) {
ClaseExterna.ClaseInterna ci=new ClaseExterna().new
ClaseInterna();
ci.metodo1();
}
}
A) Error de compilación
B) No hay errores de compilación, Escriba la salida:

PREGUNTA 20
public interface InterfaceA {
void metodo1();
}

public class ClaseH {


public static void main(String[] args) {
InterfaceA ia=new InterfaceA(){
void metodo1(){
System.out.println("xx");
}
};
ia.metodo1();
}
}

A) Error de compilación
B) No hay errores de compilación, Escriba la salida:

PREGUNTA 21
public interface InterfaceA {
void metodo1();
}

public class ClaseI {


public static void main(String[] args) {
new InterfaceA() {
public void metodo1() {
System.out.println("xx");
}
}.metodo1();
}
}
A) Error de compilación
B) No hay errores de compilación, Escriba la salida:

PREGUNTA 22
public class ClaseA {
public static void main(String[] args) {
ClaseA ca=new ClaseA();
int resultado=ca.metodo1(1)+ca.metodo2(1);
System.out.println(resultado);
}
public int metodo1(int valor){
if(valor++>1 && valor++>2){
return valor++;
}else{
return valor--;
}
}
public int metodo2(int valor){
if(valor++>1 & valor++>2){
return valor--;
}else{
return ++valor;
}
}
}
a) Error de compilación
b) Error de ejecución
c) La salida en consola es 6
d) La salida en consola es 7
e) La salida en consola es 8
f) Ninguna de las anteriores

PREGUNTA 23
public class ClaseB {
public static void main(String[] args) {
int a=10;
int x=new ClaseB().metodo1(a++);
System.out.println(x);
}
public int metodo1(int valor){
int resultado=(valor>10)?100:200;
return resultado;
}
}

a) Error de compilación
b) Error de ejecución
c) La salida en consola es 100
d) La salida en consola es 200
e) Ninguna de las anteriores

PREGUNTA 24
public class Test{
public static void main (String[] args) throws Exception {
ThreadUno t1=new ThreadUno();
t1.start();
t1.sleep(3000);
System.out.println("1."+t1.currentThread().getName());
}
}

class ThreadUno extends Thread{


public void run(){
System.out.println("2."+Thread.currentThread().getName());
}
}

Cuáles son resultados probables de la ejecución? Elija todas las que aplican

A. Error de compilación
B. Imprime en consola 2.Thread-0, duerme al hilo main AL MENOS 3 segundos y luego imprime
1.main
C. Imprime en consola 2.Thread-0 y 1. main, no se puede determinar el orden de las
impresiones porque ambos hilos se ejecutan en paralelo
D. Imprime en consola 2.Thread-0 y duerme al hilo Thread-0 al menos 3 segundos, imprime
1.main
inmediatamente luego de arrancar Thread-0
E. Imprime en consola 2.Thread-0 y al menos luego de 3 segundos imprime 1.Thread-0

PREGUNTA 25

public class Thread3 implements Runnable {


public void run() {
System.out.print(Thread.currentThread().getId()+" ");
}
public static void main(String[] args) {
Thread t = new Thread(new Thread3());
System.out.print(Thread.currentThread().getId()+" ");
t.run();
t.run();
t.start();
t.start();
}
}

Cuál es el posible resultado de la ejecución?


A. Error de compilación
B. 1 1 1 9 10
C. 1 1 1 9 9
D. 1 1 1 9 seguido de un error de Ejecución
E. 1 9 10 11
F. 1 seguido de un error de Ejecución

PREGUNTA 26
public class Test {
public static void main(String[] args) {

new Thread(new Runnable(){


public void run(){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {}
System.out.println("1");
}
}).start();
new Runnable(){
public void run(){
System.out.println("2");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {}
}
}.run();
System.out.println("3");
new Thread(){
public void run(){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {}
System.out.println("4");
}
}.start();
}
}
Cual de las siguientes afirmaciones es correcta? Elija todas las que aplican
A. Error de compilación
B. Error en ejecución
C. 3 no se puede imprimir nunca antes de 2
D. 4 no se puede imprimir nunca antes de 2
F. Es posible que 2 y 3 se impriman antes de 1

PREGUNTA 27

class ThreadA {
public void run(){
try {
Thread.sleep(9000);
} catch (InterruptedException e) { }
System.out.println("FINALIZA THREAD A");
}
}
class ClaseB{
public static void main(String[] args) {
ThreadA ta=new ThreadA();
synchronized(ta){
ta.wait(500);
}
System.out.println("FIN");
}
}

Elija
A. Error de compilación
B. Error de ejecución
C. Se imprime FIN después de al menos 9 segundos
D. Se imprime FIN antes de FINALIZA THREAD A

PREGUNTA 28
class ClaseA implements Runnable {

public void run(){


for(int i=0;i<3;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("i:"+i);
}
}

}
public class TestClaseA {
public static void main(String[] args) {
System.out.println("inicio");
ClaseA ca=new ClaseA();
ca.start();
System.out.println("fin");
}

Cuál es la salida en consola al ejecutar TestClaseA?

A. Error de compilación
B. Error de ejecución
C. Es posible que imprima inicio fin y luego i:0 i:1 i:2 con intervalos de al menos un segundo
D. Es posible que imprima inicio luego i:0 i:1 i:2 con intervalos de al menos un segundo y luego
fin

PREGUNTA 29

class ClaseA implements Runnable {

public void run(){


for(int i=0;i<3;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("i:"+i);
}
}

public class TestClaseA {


public static void main(String[] args) {
System.out.println("inicio");
ClaseA ca=new ClaseA();
Thread t1=new Thread(ca);
t1.start();
System.out.println("fin");
}

}
Cuál es la salida en consola al ejecutar TestClaseA?

A. Error de compilación
B. Error de ejecución
C. Es posible que imprima inicio fin y luego i:0 i:1 i:2 con intervalos de al menos un segundo
D. Es posible que imprima inicio luego i:0 i:1 i:2 con intervalos de al menos un segundo y luego
fin

PREGUNTA 30
class ClaseA implements Runnable {

public void run(){


for(int i=0;i<3;i++){
Thread.sleep(1000);
System.out.println("i:"+i);
}
}

public class TestClaseA {


public static void main(String[] args) {
System.out.println("inicio");
ClaseA ca=new ClaseA();
Thread t1=new Thread(ca);
t1.start();
System.out.println("fin");
}
}

Cuál es la salida en consola al ejecutar TestClaseA?

A. Error de compilación
B. Error de ejecución
C. Es posible que imprima inicio fin y luego i:0 i:1 i:2 con intervalos de al menos un segundo
D. Es posible que imprima inicio luego i:0 i:1 i:2 con intervalos de al menos un segundo y luego
fin

PREGUNTA 31
public class TestClaseB {

public static void main(String[] args) {


System.out.println("incio");
ClaseB cb = new ClaseB();
cb.start();
synchronized (cb) {
cb.wait(5000);
}
System.out.println("fin");
}
}

class ClaseB extends Thread {


public void run() {
try {
synchronized (this) {
for (int i = 0; i < 10; i++) {
if(i==4){
notify();
}
Thread.sleep(4000);
}
}
} catch (Exception ex) { }
}
}

Cuál es la salida en consola?


A. Imprime inicio, inmediatemente imprime fin
B. Imprime inicio, permanece en wait 5 segundos e imprime fin
C. Imprime inicio, permanece en wait por 4 segundos y luego imprime fin
D. Error de compilación
E. Error de ejecución

PREGUNTA 32

Dado:
interface A {
void aMethod(); //1
}

interface B {
void bMethod();//2
}

interface C extends A, B {
void cMethod();//3
}

class D implements B {
void bMethod() {} //4
}

class E extends D implements C {


public void aMethod() {}//5
public void bMethod() {}//6
public void cMethod() {}//7
}

Cual es el resultado de la ejecución?


A. Error de compilación
B. Error de ejecución
C. Si se define D e = new E(), entonces e.bMethod() invoca bMethod() definido en 2.
D. Si se define D e = (D)new E(), entonces e.bMethod() invoca bMethod() definido en 2.
E. Si se define D e = (D)new E(), entonces e.bMethod() invoca bMethod() definido en 6.

PREGUNTA 33
public class ClaseA {
public static void main(String[] args) {
ClaseB a = new ClaseB(); a.metodo1();
ClaseB b = new ClaseC(); b.metodo1();
ClaseB c = new ClaseD(); c.metodo1();
ClaseC d=(ClaseC)b; d.metodo1();
}
}

class ClaseB implements InterfaceA {


public void metodo1(){
System.out.print("ClaseB ");
}
}

class ClaseC extends ClaseB {


public void metodo1(){
System.out.print("ClaseC ");
}

}
class ClaseD extends ClaseC implements InterfaceA{
}
interface InterfaceA { void metodo1(); }

Cuál es el resultado de la ejecución?


A. Error de compilación
B. Imprime ClaseB ClaseC ClaseC ClaseB
C. Imprime ClaseB ClaseC ClaseC ClaseC
D. Imprime algunas líneas y produce un Error de ejecución
E. Imprime ClaseB ClaseB ClaseB ClaseC

Respuesta: B

PREGUNTA 34
class ClaseA {
private int i = 0;
public int incrementar() {
return ++i;
}
}

class ClaseB {

public static void main(String[] args){


new ClaseA().incrementar();
System.out.println(new ClaseA().incrementar());
}
}

Qué cambios se podrían hacer en ClaseA para que la salida en consola siga siendo 1?. Elija
todas las que aplican
A. Cambiar el retorno de incrementar: return i++;
B. Cambiar el retorno de incrementar: return i++ y el valor inicial de i: private int i=1;
C. Agregar al método incrementar el modificador static;
D. Agregar al método incrementar el modificador static y agregar al atributo i el modificador
static

PREGUNTA 35
public class Test {
public static void main(String[] args) {
int[] x = new int[] { 1 , 8};
int y[] = { 4, 5, 6 };
x[0]=y[2];
new Test().go(x, y);
}

void go(int[]... z) {
for (int[] a : z)
System.out.print(a[0]+" ");
}
}
Cual es la salida en consola?
A.Error de compilación
B.Error de ejecución
C.Imprime 6 4
D.Imprime 1 4
E.Imprime 1 8
F.Imprime 4 8

PREGUNTA 36

1. Cuál de las siguientes sentencias es correctas. Seleccione todas las que aplican.
a. ‘‘X extends Y’’ es correcto si y solo si X es una clase y Y es una interface.
b. ‘‘X extends Y’’ es correcto si y solo si X es una interface y Y es una clase.
c. ‘‘X extends Y’’ es correcto si y solo si X y Y son ambas clases o son ambas interfaces
d. ‘‘X extends Y’’ es correcto para todas las combinaciones de X y Y comenzando con
clases y o interfaces

PREGUNTA 37

Dado:
1. class Voop{
2. public static void main(String[] args) {
3. doStuff(1);
4. doStuff(1, 2);
5. }
6. // insert code here
7.}

Qué sentencia insertada de manera independiente en la línea 6 completa el código para


que compile y ejecute sin error. Seleccione todas las que aplican.
a. static void doStuff(int… doArgs){}
b. static void doStuff(int[] doArgs){}
c. static void doStuff(int doArgs…){}
d. static void doStuff(int… doArgs, int y){}
e. static void doStuff(int x, int… doArgs){}
PREGUNTA 38

Dado:
1. enum Animals {
2. DOG("woof"), CAT("meow"), FISH("burble");
3. String sound;
4. Animals(String s) {sound = s;}
5. }

6. public class TestEnum {


7. static Animals a;
8. public static void main(String[] args) {
9. System.out.println(a.DOG.sound + " " + a.FISH.sound);
10. }
11.}

Cuál es el resultado, seleccione todas las opciones que aplican.


a. woof burble
b. Existen varios errores de compilación
c. Existe un error de compilación en la línea 2
d. Existe un error de compilación en la línea 3
e. Existe un error de compilación en la línea 4
f. Existe un error de compilación en la línea 9

PREGUNTA 39

Dados los siguientes archivos:


1.package pkga;
2.public class Foo {
3. int a = 5;
4. protected int b = 6;
5. public int c = 7;
6.}

3.package pkgb;
4.import pkga.Foo;
5.public class Bazz {
6. public static void main(String[] args) {
7. Foo f= new Foo();
8. System.out.println(f.a);
9. System.out.println(f.b);
10. System.out.println(f.c);
11. }
12.}

Cuál es el resultado, seleccione todas las que aplican.


a. 567
b. 5 seguido de una excepción.
c. Existe un error de compilación en la línea 7
d. Existe un error de compilación en la línea 8
e. Existe un error de compilación en la línea 9
f. Existe un error de compilación en la línea 10

PREGUNTA 40

Dado el siguiente código:


1. public class Electronic implements Device {
public void doit(){}
}
2.
3.abstract class Phone1 extends Electronic{}
4.
5.abstract class Phone2 extends Electronic{
public void doIt(int x){}
}
6.
7.class Phone3 extends Electronic implements Device{
protected void doStuff(){}
}
8.
9. public interface Device { public void doit();}

Cuál es el resultado, seleccione todas las que aplican


a. No existen errores de compilación.
b. Existe un error de compilación en la línea 1
c. Existe un error de compilación en la línea 3
d. Existe un error de compilación en la línea 5
e. Existe un error de compilación en la línea 7
f. Existe un error de compilación en la línea 9

PREGUNTA 41

Dado el siguiente código:

3. class TestDays{
4. public enum Days {MON, TUE, WED};
5. public static void main (String args []){
6. for (Days d: Days.values());
7. Days [] d2 = Days.values();
8. System.out.println(d2[2]);
9. }
10.}

Cuál es el resultado, seleccione todas las que apliquen.

a. TUE
b. WED
c. No se puede saber cual es la salida en consola.
d. Existe un error de compilación en la línea 4
e. Existe un error de compilación en la línea 6
f. Existe un error de compilación en la línea 7
g. Existe un error de compilación en la línea 8

PREGUNTA 42

Dado el siguiente código:

4. public class Frodo extends Hobbit{


5. public static void main (String args []){
6. Short myGold= 7;
7. System.out.println(countGold (myGold, 6));
8. }
9. }
10. class Hobbit {
11. int countGold(int x, int y){return x+y;}
12. }
Cuál es el resultado.
a. 13
b. Existen varios errores de compilación
c. Existe un error de compilación en la línea 6
d. Existe un error de compilación en la línea 7
e. Existe un error de compilación en la línea 11
PREGUNTA 43

Dado el siguiente código:


public interface Frobnicate {public void twiddle (String s);}
Cuál de las siguientes clases es correcta, seleccione todas las que aplican.
a. public abstract class Frob implements Frobnicate{
public abstract void twiddle (String s){}
}
b. public abstract class Frob implements Frobnicate{}
c. public class Frob extends Frobnicate{
public void twiddle (Integer i){}
}

d. public class Frob implements Frobnicate {


public void twiddle(Integer i) {}
}
e. public class Frob implements Frobnicate {
public void twiddle(String i) {}
public void twiddle(Integer i) {}
}
PREGUNTA 44

Dado el siguiente código:


class Top {
public Top(String s) {System.out.println("B");}
}

public class Bottom2 extends Top {


public Bottom2(String s) {System.out.println("D");}
public static void main(String[] args) {
new Bottom2("C");
System.out.println("");
}
}

Cuál es el resultado, seleccione todas las que apliquen.

a. BD
b. DB
c. BDC
d. DBC
e. Existe un error de compilación
PREGUNTA 45

Dado el siguiente código:


1. class X {void do1() {}}
2. class Y extends X {void do2() {}}
3.
4.public class Chrome {
5. public static void main(String[] args) {
6. X x1= new X();
7. X x2= new X();
8. Y y1= new Y();
9. // insert code here
10. }
11.}
Qué líneas insertadas de manera independiente en la línea 9 hacen que el código compile sin
error, seleccione todas las que aplican.

a. x2.do2();
b. (Y)x2.do2();
c. ((Y)x2).do2();
d. Ninguna de las sentencias anteriores compilarán sin error.
PREGUNTA 46

Dado el siguiente código:


3. class Dog {
4. public void bark() {System.out.println("woof");}
5.}
6. class Hound extends Dog {
7. public void sniff() {System.out.println("sniff");}
8. public void bark() {System.out.println("howl ");}
9.}
10. public class DogShow {
11. public static void main(String[] args) {new DogShow().go();}
12. void go (){
13. new Hound().bark();
14. ((Dog) new Hound()).bark();
15. ((Dog) new Hound()).sniff();
16. }
17.}

Cuál es el resultado, seleccione todas las que apliquen.


a. howl howl sniff
b. howl howl sniff
c. howl howl seguido de una excepción.
d. howl woof f seguido de una excepción.
e. Existe un error de compilación en la línea 14
f. Existe un error de compilación en la línea 15
PREGUNTA 47

Dado el siguiente código:


3.public class Redwood extends Tree {
4. public static void main(String[] args) {
5. new Redwood().go();
6. }
7. void go() {
8. go2(new Tree(), new Redwood());
9. go2((Redwood) new Tree(), new Redwood());
10. }
11. void go2(Tree t1, Redwood r1) {
12. Redwood r2 = (Redwood) t1;
13. Tree t2 = (Tree) r1;
14. }
15.}
16.class Tree {}
Cuál es el resultado, seleccione todas las que aplican
a. Una excepcion es arrojada en tiempo de ejecución.
b. El código compila y se ejecuta sin salida.
c. Existe un error de compilación en la línea 8
d. Existe un error de compilación en la línea 9
e. Existe un error de compilación en la línea 12
f. Existe un error de compilación en la línea 13
PREGUNTA 48

Dado el siguiente código:


3.public class Tenor extends Singer {
4. public static String sing() {return "fa";}
5. public static void main(String[] args) {
6. Tenor t = new Tenor();
7. Singer s = new Tenor();
8. System.out.println(t.sing() + " " + s.sing());
9. }
10.}
11.class Singer {public static String sing() {return "la";}}

¿Cuál es el resultado?
a. fa fa
b. fa la
c. la la
d. Existen errores de compilación.
e. Una excepción se arroja en tiempo de ejecución.
PREGUNTA 49

Dado el siguiente código:


3.class Alpha {
4. static String s = "";
5. protected Alpha() {s += "alpha";}
6.}
7.class SubAlpha extends Alpha {
8. private SubAlpha() {s += "sub";}
9.}
10.public class SubSubAlpha extends Alpha{
11. private SubSubAlpha() { s += "subsub";}
12. public static void main(String[] args) {
13. new SubSubAlpha();
14. System.out.println(s);
15. }
16.}

¿Cuál es el resultado?
a. subsub
b. sub subsub
c. alpha subsub
d. alpha sub subsub
e. Existe un error de compilación
f. Una excepción se arroja en tiempo de ejecución.

PREGUNTA 50

Dado el siguiente código:

3.class Building{
4. Building() {System.out.println("b");}
5. Building(String name){
6. this(); System.out.println("bn " + name);
7. }
8.}

9.public class House extends Building{


10. House() {System.out.println("h ");}
11. House (String name){
12. this(); System.out.println("hn " + name);
13. }
14. public static void main(String[] args) {new House("x");}
15.}
Cuál es el resultado
a. h hn x
b. hn x h
c. b h hn x
d. b hn x h
e. bn x h hn x
f. b bn x h hn x
g. bn x b h hn x
h. Existe un error de compilación.

PREGUNTA 51

Dado el siguiente código:


1. class Dims {
2. public static void main(String[] args) {
3. int[][] a = { { 1, 2 }, { 3, 4 } };
4. int[] b = (int[]) a[1];
5. Object o1 = a;
6. int[][] a2 = (int[][]) o1;
7. int[] b2 = (int[]) o1;
8. System.out.println(b[1]);
9.}}

Cuál es el resultado
a. 2
b. 4
c. Se arroja una excepción en tiempo de ejecución.
d. Existe un error en la línea 4
e. Existe un error en la línea 5
f. Existe un error en la línea 6
g. Existe un error en la línea 7
PREGUNTA 52

Dado el siguiente código:


public class Mixer {
Mixer() {}
Mixer(Mixer m){m1=m;}
Mixer m1;
public static void main(String[] args) {
Mixer m2 = new Mixer();
Mixer m3= new Mixer(m2); m3.go();
Mixer m4= m3.m1; m4.go();
Mixer m5= m2.m1; m5.go();
}
void go (){System.out.println("hi ");}
}
Cuál es el resultado
a. hi
b. hi hi
c. hi hi hi
d. Existe un error de compilación.
e. hi, seguido de una excepción.
f. hi hi, seguido de una excepcion.
PREGUNTA 53

Dado el siguiente código:


public class Hexy {
public static void main(String[] args) {
Integer i = 42;
String s = (i < 40) ? "life" : (i > 50) ? "universe" :
"everything";
System.out.println(s);
}
}

Cuál es el resultado
a. null
b. life
c. universe
d. everything
e. Existe un error de compilación
f. Ocurre una excepción en tiempo de ejecución.
PREGUNTA 54

Dado el siguiente código:

1.public class Comp2 {


2.public static void main(String[] args) {
3. float f1= 2.3f;
4. float [][] f2= {{42.0f},{1.7f, 2.3f},{2.6f, 2.7f}};
5. float [] f3={2.7f};
6. Long x= 42L;
7. // insert code here
8. System.out.println("true");
9.}
10.}

Y los siguientes fragmentos de código

F1. if (f1==f2)
F2. if (f1== f2[2][1])
F3. if (x== f2[0][0])
F4. if (f1== f2[1,1])
F5. if (f3==f2[2])

Cuál de las siguientes afirmaciones es verdad


a. Solo uno de los fragmentos compilaran, solo uno será verdad
b. Dos de los fragmentos compilaran, solo una será verdad.
c. Dos de los fragmentos compilaran, dos serán verdad
d. Tres de los fragmentos compilaran, solo uno será verdad
e. Tres de los fragmentos compilaran, exactamente dos serán verdad
f. Tres de los fragmentos compilaran, exactamente tres serán verdad
PREGUNTA 55

Dado el siguiente código:


public class Fork {
public static void main(String[] args) {
if (args.length==1 | args[1].equals("test")){
System.out.println("test case");
}else{
System.out.println("produccion " + args[0]);
}
}
}

Y la siguiente línea de comando


java Fork live2
Cuál es el resultado
a. test case
b. production live2
c. test case live2
d. Existe un error de compilación.
e. Existe una excepción en tiempo de ejecucion.
PREGUNTA 56

Dado el siguiente código


3. public class Twisty {
4. {index =1;}
5. int index;
6. public static void main(String[] args) {
7. new Twisty().go();
8. }
9. void go (){
10. int [][] dd={{9, 8, 7},{6, 5, 4},{3, 2, 1, 0}};
11. System.out.println(dd[index++] [index++]);
12. }
13.}
Cuál es el resultado
a. 1
b. 2
c. 4
d. 6
e. 8
f. Existen errores de compilación
g. Se arroja una excepción en ejecución.
PREGUNTA 57

2. (Op)Dado el siguiente código:


4.public class SpecialOps {
5.public static void main(String[] args) {
6. String s= "";
7. Boolean b1 = true;
8. Boolean b2= false;
9. if (b2!=false | (21%5) >2) s+="x";
10. if (b1||(b2==true)) s+="y";
11. if (b2==true) s+="z";
12. System.out.println(s);
13.}
14.}
Cuál de las siguientes afirmaciones es verdad, seleccione todas las que aplican.
a. Existe un error de compilación.
b. Imprime x en la consola
c. Imprime y en la consola
d. Imprime z en la consola
e. Se arroja una excepción en ejecución.
PREGUNTA 58

Dado el siguiente código:


3. public class Spock {
4. public static void main(String[] args) {
5. int mask=0;
6. int count=0;
7. if (((5<7) || (++count <10))| mask++ <10) mask= mask+1;
8. if ((6>8)^false) mask= mask+10;
9. if (!(mask >1) && ++ count >1) mask= mask+100;
10. System.out.println(mask + " " + count);
11.}
12.}

Cuales dos respuestas son verdaderas acerca de la variable mask y de la variable count
en la línea 10.
a. mask tiene el valor 0
b. mask tiene el valor 1
c. mask tiene el valor 2
d. mask tiene el valor 10
e. mask es mayor a 10
f. count tiene el valor de 0
g. count es mayor a 0
PREGUNTA 59

Dado el siguiente código:


public class Gotcha {
public static void main(String[] args) {
// insert code here
}

void go() {
go();
}
}
Y los siguientes fragmentos de código:
I. new Gotcha().go();
II. try{
new Gotcha().go();
}catch (Error e){System.out.println("ouch");}
}
III. try{
new Gotcha().go();
}catch (Exception e){System.out.println("ouch");}
}

Si se ingresan de manera independiente los fragmentos de código en lugar de //insert code


here, cuál de las siguientes sentencias es verdadera. Seleccione todas las que apliquen.
a. Alguna no compila.
b. Todas compilan.
c. Todas completan sin errores el código
d. Ninguna completa sin errores el código
e. Solo una completa sin errores el código
f. Dos de los fragmentos de código completan sin errores el código
PREGUNTA 60

El siguiente bloque de código crea un Thread utilizando una variable de tipo Runnable.
Runnable target= new MyRunnable();
Thread myThread= new Thread(target);

Cuál de las siguientes clases pueden ser usadas para crear el hilo referenciado por
target, y hace que el código compile sin errores.

a. public class MyRunnable extends Runnable{public void run(){}}


b. public class MyRunnable extends Object{public void run(){}}
c. public class MyRunnable implements Runnable{public void run(){}}
d. public class MyRunnable implements Runnable{ void run(){}}
e. public class MyRunnable implements Runnable{public void start(){}}
PREGUNTA 61

Dado el siguiente código:


import java.util.*;
public class MapEQ {
public static void main(String[] args) {
Map<ToDos, String> m = new HashMap<ToDos, String>();
ToDos t1 = new ToDos("Monday");
ToDos t2 = new ToDos("Monday");
ToDos t3 = new ToDos("Tuesday");
m.put(t1, "doLundry");
m.put(t2, "payBills");
m.put(t3, "cleanAttic");
System.out.println(m.size());
}}
class ToDos {
String day;
ToDos(String d) {day = d;}
public boolean equals(Object o) {
return ((ToDos) o).day == this.day;
}
//public int hashCode() {return 9;}
}

Cuál afirmación es correcta, seleccione todas las que aplican.


a. Tal y como se encuentra el código, no compila.
b. Tal y como se encuentra el código la salida será 2.
c. Tal y como se encuentra el código la salida será 3
d. Si el método hashCode() no se encuentra comentado la salida será 2
e. Si el método hashCode() no se encuentra comentado la salida será 3
f. Si el método hashCode() no se encuentra comentado existe un error de
compilación.

También podría gustarte