Observe o código fonte Java abaixo. Considere que o código é...
Observe o código fonte Java abaixo.
Considere que o código é executado da seguinte forma.
java TesteException 2 a
java TesteException 2.5 4
java TesteException 4 2
java TesteException 2
java TesteException 2 4
A alternativa que relaciona corretamente as saídas do código executado é
Comentários
Veja os comentários dos nossos alunos
Quem não tem acesso: - -> B
Alguém me explica isso! rs
Jhonny Gomes dos Santos o único que eu não entendi foi a entrada 2: java TesteException 2.5 4, pois vc está passando um float para função que recebe um int. Não sei se seria um NumberFormatException a exceção gerada.
Na primeira entrada, ele vai gerar um NumberFormatException pois, vc tentar passar uma letra na função, logo, gera essa exceção, como não tem um catch para isso, ele cai diretamente no Exception, na terceira entrada, a divisão fica 2/4 = 0.5, mas a divisão é inteira, logo, a reposta será a parte inteira no número, que nesse caso será o 0. na quarta entrada, vc tentar passar um valor vazio, um valor que não tem índice, logo, cai na primeira exceção e por fim, na última, a divisão normal, 4/2 = 2.
Espero q eu tenho ajudado um pouco. Eu também errei essa questão, por vacilo das divisões. eu troquei os números.
kkkkkkk
quando a questao for muito grande ou houver muito cálculo, comece de trás pra frente
O código Java fornecido define uma classe chamada `TesteException` com um método `main` e outro método chamado `fazAlgo`. Aqui está uma análise do que o código faz:
**Método Principal:**
1. **Declara variáveis:** Declara duas variáveis inteiras `a` e `b`, mas não as inicializa com nenhum valor.
2. **Bloco Try-Catch:**
* **Bloco Try:** Tenta converter os dois primeiros elementos (`args[0]` e `args[1]`) dos argumentos da linha de comando passados ao executar o programa usando `Integer.parseInt()`. Isso converte strings em inteiros.
* **Catches:**
* **ArrayIndexOutOfBoundsException:** Se não houver argumentos suficientes fornecidos (menos de dois), essa exceção é capturada e "X" é impresso.
* **ArithmeticException:** Se houver um erro durante a conversão (por exemplo, tentar converter uma string não numérica em inteiro), essa exceção é capturada e "Y" é impresso.
* **Exceção Geral:** Captura qualquer outra exceção e imprime "Z".
3. **Método fazAlgo:** (Não chamado dentro do código fornecido) Este método provavelmente executa alguma operação (divisão neste caso) nos inteiros fornecidos `x` e `y`, mas não é executado no método `main` mostrado.
**Em resumo:**
Este código é projetado para lidar com exceções potenciais que podem surgir ao converter argumentos da linha de comando fornecidos pelo usuário em inteiros e realizar divisões. Ele fornece mensagens informativas ("X", "Y" ou "Z") dependendo do erro encontrado.
Fonte: Gemini
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo