Questão FC373258
Considere a classe abaixo. Ao executar a classe,
Linguagens de Programação
FCC · 2022
Considere a classe abaixo.

Ao executar a classe,
- o array será ordenado de forma crescente, resultando em 2, 4, 7, 10.
- será realizada uma busca pelo maior valor contido no array, o valor 10.
- ocorrerá uma exceção, já que se tenta acessar uma posição inexistente no array.
- o array será ordenado de forma decrescente, resultando em 10, 7, 4, 2.
- ocorrerá uma exceção, pois a variável j deveria iniciar em 1 no laço de repetição.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Ao executar a classe ocorrerá uma exceção, pois o código tenta acessar uma posição inexistente no array.
Há dois laços aninhados e, no corpo, é feita a comparação envolvendo v[j] e v[j+1]. Se o array tem comprimento \(n\), os índices válidos vão de 0 a n-1. Ao permitir que j alcance \(n-1\), a expressão j+1 passa a ser \(n\), fora do intervalo válido.
Na execução isso provoca uma ArrayIndexOutOfBoundsException em tempo de execução, interrompendo o programa. Para evitar, limite o laço interno para \(j \le n-2\) (por exemplo, use j < v.length-1) ou ajuste a lógica para não acessar j+1 quando j for o último índice.
Conteúdo do catálogo FC Concursos · Atualizado em