Questão FC373288
Considere o método abaixo, retirado de uma aplicação Java em condições ideais. private static double[] entrada() { int cont; double n[]; n = new double[3]; for (cont = 0; cont <=3;
Linguagens de Programação
FCC · 2019
Considere o método abaixo, retirado de uma aplicação Java em condições ideais.
private static double[] entrada() {
int cont;
double n[];
n = new double[3];
for (cont = 0; cont <=3; cont++) {
n[cont] = Double.parseDouble(JOptionPane.showInputDialog("Valor" + (cont + 1)));
}
return n;
}
Para corrigir o erro que será gerado quando o método entrada for executado, deve-se mudar
- cont<=3 no comando for para cont<=2.
- n = new double[3] para n = new array[3].
- cont<=3 no comando for para cont>=3.
- cont++ para cont=cont+1.
- "Valor" + (cont + 1) para "Valor" . (cont + 1).
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O erro ocorre porque o vetor foi criado com tamanho \(3\) (ou seja, n.length = 3), cujos índices válidos são \(0,1,2\).
O comando original for usava cont <= 3, fazendo a variável cont assumir o valor \(3\) em uma iteração; ao tentar acessar n[3] ocorre ArrayIndexOutOfBoundsException.
Alterando para cont <= 2 o laço percorre apenas os índices válidos \(0,1,2\), evitando o acesso fora dos limites do array.
Outra forma equivalente seria usar cont < 3, pois isso também garante iterações para \(0,1,2\).
Portanto, a correção cont <= 3 → cont <= 2 ajusta corretamente os limites do laço ao tamanho do vetor, eliminando o erro de execução.
Conteúdo do catálogo FC Concursos · Atualizado em