Buscar

Programação Orientada a Objetos - este Semana 6 - Atividade Avaliativa

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PERGUNTA 1 
Um analista foi solicitado para verificar o código a seguir e emitir uma opinião 
sobre ele. Assinale a alternativa correta. 
 
public class A { 
 
public void f(int a){ 
 if (a < 10) throw new NumberFormatException(); 
 System.out.println("a = "+ a); 
} 
 
} 
 
import java.io.IOException; 
public class B{ 
 public void f(int a) throws IOException { 
 if (a < 10) throw 
 new IOException ("valor do argumento de f() é " + a + " (menor que 10)"); 
 System.out.println("a = "+ a); 
 } 
} 
 
import java.io.IOException; 
public class TestaException{ 
public static void main(String[] args) throws IOException{ 
 B x = new B(); 
 int a = 4; 
 x.f(a); 
 System.out.println("fim do metodo main em TestaException"); 
} 
} 
 
 
Resposta: 
Considerando a classe TestaException, a exceção que pode ser lançada por f() é verificada 
(IOException), e o método main() tem a cláusula "throws IOException", o que faz a compilação 
ocorrer corretamente. 
 
 
 
PERGUNTA 2 
Considere o código Java a seguir: 
 
import java.util.Scanner; 
 
public class ExemploRuntimeException { 
 public static void main(String[] args) { 
 Scanner s = new Scanner(System.in); 
 System.out.print("Entre com um número inteiro: "); 
 int numero = s.nextInt(); 
 System.out.println("Número lido: " + numero); 
 } 
} 
 
Em que posição do código devemos tratar a exceção com o bloco try/catch? 
Resposta: 
Usar o try antes de Scanner s = new Scanner(System.in); e o catch depois 
de System.out.println("Número lido: " + numero) 
 
 
 
PERGUNTA 3 
Dois programadores estavam em uma discussão acerca das exceções em Java e algumas afirmações desta 
discussão são listadas a seguir. 
 
I. O programador A disse que uma exceção é uma classe de Java representada genericamente pela classe 
java.io. 
II. O programador B salientou que não podemos criar as nossas próprias exceções, pois o Java trata disso 
por meio de uma hierarquia de exceções. 
III. Ambos os programadores concordaram que as exceções que são subclasses 
de java.lang.Exception são divididas em dois tipos: Checked e Unchecked. 
IV. Ambos os programadores concordam que embora seja comum usar catch com a classe Exception por 
qualquer erro, é muito mais difícil identificar o erro. Assim, sugerem tratar as exceções de forma 
específica. 
 
Assinale a alternativa correta. 
 
Resposta: 
Apenas III e IV estão corretas. 
 
 
PERGUNTA 4 
Ao se programar em Java, o uso de exceções permite separar a detecção de um erro e o seu respectivo 
tratamento. Assinale a alternativa correta: 
 
Resposta: 
Uma exceção em Java é um objeto da classe java.lang.Exception ou de uma de suas subclasses. 
 
 
PERGUNTA 5 
Uma exceção é uma indicação de algum problema na execução de um programa de computador. Analise 
as afirmações a seguir e escolha a alternativa correta. 
 
I. É mais vantajoso usar o tratamento de erros usando as condições (if). 
II. O tratamento de exceções deixa o código mais legível e eficiente. 
III. NullPointerException ocorre quando se tenta fazer coerção equivocada de um objeto. 
IV. O tratamento de exceções em Java é feito somente por try/cacth, de modo que todas as exceções 
lançadas por um programa necessitem obrigatoriamente ser capturadas e tratadas. 
 
Resposta: 
Apenas II está correta. 
 
 
PERGUNTA 6 
Em relação às exceções verificadas (checked), é correto afirmar que: 
Resposta: 
ela precisa ser obrigatoriamente tratada, pois caso contrário o programa não compila 
corretamente. 
 
 
PERGUNTA 7 
Considere o código a seguir que apresentará erro se for executado sem o tratamento de 
exceções. Assinale a alternativa correta que lista quais são os tipos de exceções geradas ao 
executar o código. 
 
import java.io.IOException; 
public class TesteException { 
 
public static void main(String[] args) { 
 
int[] numeros = {4, 8, 16, 32, 64, 128}; 
int[] denominador = {2, 0, 4, 8, 0}; 
 
for (int i = 0; i < numeros.length; i++) { 
System.out.println(numeros[i] + "/" + denominador[i] + " = " + 
(numeros[i]/denominador[i])); 
 
} 
} 
} 
 
Resposta: 
ArithmeticException e ArrayIndexOutOfBoundsException. 
 
 
PERGUNTA 8 
Foi solicitado a um programador a análise de código a seguir e o seu parecer está listado 
corretamente na alternativa: 
 
import java.util.Scanner; 
 
public class ExemploRuntimeException { 
 public static void main(String[] args) { 
 Scanner s = new Scanner(System.in); 
 System.out.print("Entre com um número inteiro: "); 
 int numero = s.nextInt(); 
 System.out.println("Número lido: " + numero); 
 } 
} 
 
Resposta: 
Ocorrerá uma exceção em tempo de execução. 
 
PERGUNTA 9 
Um analista foi convocado para analisar o código a seguir de modo a encontrar erros. É correto 
afirmar que: 
 
public class TestaException { 
 
 public static void testaException() { 
 String[] stringArray = { "Olá", "pessoal", "Saudações" }; 
 
 for (int i = 0; i < 4; i++) { 
 System.out.println(stringArray[i]); 
 } 
 } 
 
 public static void main(String[] args) { 
 testaException(); 
 } 
 } 
 
Resposta: 
é gerada uma exceção do tipo ArrayIndexOutOfBoundsException, pois ocorreu acesso a uma 
posição fora dos limites do array. 
 
 
PERGUNTA 10 
Considere o código a seguir que apresentará erro se for executado sem o tratamento de 
exceções. Analise o código e identifique quantas exceções podem ser geradas. 
 
import java.io.IOException; 
public class TesteException { 
 
public static void main(String[] args) { 
 
int[] numeros = {4, 8, 16, 32, 64, 128}; 
int[] denominador = {2, 0, 4, 8, 0}; 
 
for (int i = 0; i < numeros.length; i++) { 
System.out.println(numeros[i] + "/" + denominador[i] + " = " + 
(numeros[i]/denominador[i])); 
 
} 
} 
} 
 
Resposta: 
O número de exceções geradas será 3. 
 
	PERGUNTA 1
	PERGUNTA 2
	PERGUNTA 3
	PERGUNTA 4
	PERGUNTA 5
	PERGUNTA 6
	PERGUNTA 7
	PERGUNTA 8
	PERGUNTA 9
	PERGUNTA 10

Continue navegando