Bom dia pessoal,

Hoje nosso simulado é sobre Controle de fluxo, exceções e assertivas. Bons estudos!

 

1. Dado o código a seguir:

try { int x = Integer.parseInt(“dois”); }

Qual opção poderia ser usada para se criar um bloco catch apropriado? (marque todas as corretas)

A. ClassCastException

B. IllegalStateException

C. NumberFormatException

D. IllegalArgumentException

E. ExceptionInInitializerError

F. ArrayIndexOutOfBoundException

 

2. Dado o código a seguir:

public class Loop {

public static void main(String[] args) {

int[] x = {7,6,4,3,2,1};

// insira codigo aqui

System.out.println();

}

}

}

 

Qual opção, inserida independentemente na linha 4, compila? (marque todas as respostas corretas)

A. for (int y : x) {

B. for (x : int y) {

C. int y = 0; for(y : x) {

D. for (int y=0, z=0;  z<x.length;  z++) { y = x[z];

E. for (int y=0, int z=0;  z<x.length;  z++) { y = x[z];

F. int y = 0; for (int z=0;  z<x.length;  z++) { y = x[z];

 

3. Dado o código a seguir:

3. class SubException extends Exception {}

4. class SubSubException extends SubException {}

5.

6. public class Classe1 { void fazAlgumaCoisa() throws SubException {} }

7.

8. class Classe2 extends Classe1 { void fazAlgumaCoisa() throws SubSubException {} }

9.

10. class Classe3 extends Classe1 { void fazAlgumaCoisa() throws Exception {} }

11.

12. class Classe4 extends Classe1 { void fazAlgumaCoisa(int x) throws Exception {} }

13.

14. class Classe5 extends Classe1 { void fazAlgumaCoisa(){} }

 

Qual é o resultado? (marque todas as respostas corretas)

A. A compilação é bem-sucedida.

B. Ocorre falha na compilação devido a um erro na linha 8.

C. Ocorre falha na compilação devido a um erro na linha 10.

D. Ocorre falha na compilação devido a um erro na linha 12.

E. Ocorre falha na compilação devido a um erro na linha 14.

 

4. Dado o código a seguir:

public class Loop {

public static void main(String[] args) {

int [] ia = {1,3,5,7,9};

for (int x : ia) {

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

if (x > 4 && x < 8 /**/) continue;

System.out.print(” “ + x);

if (j == 1) break;

continue;

}

continue;

}

}

}

 

Qual é o resultado?

A. 1 3 9

B. 5 5 7 7

C. 1 3 3 9 9

D. 1 1 3 3 9 9

E. 1 1 1 3 3 3 9 9 9

F. Ocorre falha na compilação

 

5. Dado o código a seguir:

public class Loop {

public static void main(String[] args) {

foreach : for (int j=0; j<5; j++) {

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

System.out.print(” ” + j);

if (j==3 && k==1) break foreach;

if (j==0 || j==2) break;

}

}

}

}

 

Qual é o resultado?

A. 0 1 2 3

B. 1 1 1 3 3

C. 0 1 1 1 2 3 3

D. 1 1 1 3 3 4 4 4

E. 0 1 1 1 2 3 3 4 4 4

F. Ocorre falha na compilação

 

6. Dado o código a seguir:

public class ManipulandoAssertivas {

public static void main(String[] args) {

int var = 1;

assert (++var > 1); // linha 4

assert (var++ > 2) : “algo”; // linha 5

assert (var > 4) : var = 12; // linha 6

assert (var == 6) : fazAlgumaCoisaComRetorno(); // linha 7

assert (var == 6) : fazAlgumaCoisaSemRetorno(); // linha 8

assert (var == 6) : new ManipulandoAssertivas(); // linha 9

}

static void fazAlgumaCoisaSemRetorno() { }

static String fazAlgumaCoisaComRetorno() { return “XX”; }

}

Qual é o resultado?

A. Ocorre múltiplas falhas de compilação.

B. Ocorre falha de compilação na linha 4.

C. Ocorre falha de compilação na linha 7.

D. Ocorre falha de compilação na linha 8.

E. Ocorre falha de compilação na linha 9.

F. O código compila com sucesso.