Está dando erro esse código, gostaria de saber por que?
o erro é: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20 at exercicoD.exercicoD.main(exercicoD.java:27)
segue o código.
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
Curtidas 0
Respostas
Eduardo Pessoa
06/02/2014
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
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
GOSTEI 0
Eliseu Mendes
06/02/2014
aqui aparece esse erro.
GOSTEI 0
Eliseu Mendes
06/02/2014
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
GOSTEI 0
Alex Lekao
06/02/2014
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
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
GOSTEI 0