Fórum Está dando erro esse código, gostaria de saber por que? #469111

06/02/2014

0

o erro é: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at exercicoD.exercicoD.main(exercicoD.java:27)

segue o código.

package exercicoD;
import java.util.Scanner;
public class exercicoD {
	public static void main (String [] args)
	{
		Scanner leia = new Scanner(System.in);
		int[] vetor = new int[20];
		int[] vetor2 = new int[20];
		int[] vetor3 = new int[40];
		for(int i = 0; i <= 19; i++)
		{
			System.out.print("Digite um número: ");
			vetor[i] = leia.nextInt();
		}
		for(int i = 0; i <= 19; i++)
		{
			System.out.print("Digite um número2: ");
			vetor2[i] = leia.nextInt();
		}
		/*Testar se o indice for par receber o valor do primeiro vetor,
		 * senão receber do segundo vetor */
		
		for(int i = 0; i <= 39; i++)
		{
			if ((i % 2)==0)
			{
				vetor3[i] = vetor[i];
			}
			else
			{
				vetor3[i] = vetor2[i];
			}
		}
		for(int i = 0; i <= 39; i++)
		{
			System.out.println (">> "+vetor3[i]);
		}
	}
}
Eliseu Mendes

Eliseu Mendes

Responder

Posts

06/02/2014

Eduardo Pessoa

no meu caso não apareceu erro, apenas isso

Digite um número: 10
Digite um número: 10
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 2
Digite um número: 34
Digite um número: 43
Digite um número: 43
Digite um número: 22
Digite um número: 33
Digite um número2: 34
Digite um número2: 44
Digite um número2: 55
Digite um número2: 55
Digite um número2: 55
Digite um número2: 66
Digite um número2: 55
Digite um número2: 21
Digite um número2: 2234
Digite um número2: 4533
Responder

Gostei + 0

06/02/2014

Eliseu Mendes

aqui aparece esse erro.
Responder

Gostei + 0

06/02/2014

Eliseu Mendes

Encontrei a solução >>> se alguém precisar ta ai.

package exercicoD;
import java.util.Scanner;
public class exercicoD {
	public static void main (String [] args)
	{
		Scanner leia = new Scanner(System.in);
		int[] vetor = new int[5];
		int[] vetor2 = new int[5];
		int[] vetor3 = new int[10];
		int x = 0;
		int y = 0;
		for(int i = 0; i <= 4; i++)
		{
			System.out.print("Digite um número: ");
			vetor[i] = leia.nextInt();
		}
		for(int i = 0; i <= 4; i++)
		{
			System.out.print("Digite um número2: ");
			vetor2[i] = leia.nextInt();
		}
		/*Testar se o indice for par receber o valor do primeiro vetor,
		 * senão receber do segundo vetor */
		
		for(int i = 0; i <= 9; i++)
		{
			if ((i % 2)==0)
            {
                vetor3[i] = vetor[x];
                x++;
            }
            else
            {
                vetor3[i] = vetor2[y];
                y++;
            }
		}
		for(int i = 0; i <= 9; i++)
		{
			System.out.println (">> "+vetor3[i]);
		}
	}
}
//dúvidas nesse

Responder

Gostei + 0

06/02/2014

Alex Lekao

oi Mendez, boa tarde!!!

Nao sou programador, mas nos meus tempos de Suporte qdo dava mensagens parecidas com essas, index bound erro, essas coisas.

Eram estouros de Vetor.

Da uma olhada neste link se te ajuda a esclarecer o problema, os caras estao tratando de um erro tipo o seu.
[url]http://www.guj.com.br/java/255941-arrayindexoutofboundsexception---nao-consigo-arrumar[/url]

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar