FC ConcursosFC Concursos

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

  1. cont<=3 no comando for para cont<=2.
  2. n = new double[3] para n = new array[3].
  3. cont<=3 no comando for para cont>=3.
  4. cont++ para cont=cont+1.
  5. "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

Continue aprendendo