Armazenar valores no vetor , ERRO (está entrando no debug na linha onde esta vet[j]..)

3 respostas
programaçãojava
Cassia_Eliza_Moreira
int[] vet = new int[a];
	//int g = 0;
	for (int j = 1; j <= a; j++) {
		System.out.println("coloque os numeros que estarao no vetor:");
		vet[j]=input.nextInt();
		System.out.println(vet[j]);
	}
	Soma soma = new Soma();
	System.out.println(soma.soma(vet, a));
}

}

3 Respostas

A

O index do array inicia em 0.
Assim:
for (int j = 1; j <= a; j++)//na situação atual vai “estourar” o vetor com ArrayIndexOutOfBoundsException
O ideal e: for (int j = 0; j < a; j++) ou ajustar a parte interna do bloco de instrução.

Solução 1:

for (int j = 0; j < a; j++) {
    System.out.println("coloque os numeros que estarao no vetor:");
    vet[j]=input.nextInt();
    System.out.println(vet[j]);
 }

Solução 2:

for (int j = 1; j <= a; j++) {
    System.out.println("coloque os numeros que estarao no vetor:");
    vet[j-1]=input.nextInt();//ajuste mantendo o j dentro **maior index** do array
    System.out.println(vet[j-1]);//ajuste
}
Cassia_Eliza_Moreira

Modifiquei , mas ainda permanece dando erro …
o debug mostra vet[j]=input.nextInt(); como o erro
Mas obrigada mesmo assim

B
System.out.println("coloque os numeros que estarao no vetor:");

    for (int i = 0; i < vet.length; i++) {
        System.out.print((i + 1) + "º numero: ");

        vet[i] = sc.nextInt();
    }
    int soma = 0;
    
    for (int i = 0; i < vet.length; i++) {
        soma += vet[i];
    }
    
    System.out.println(soma);
Criado 8 de junho de 2017
Ultima resposta 9 de jun. de 2017
Respostas 3
Participantes 3