Problemas com preenchimento de array

1 resposta
J

Olá galera, tudo certo?
Bom pessoal, eu gostaria de uma ajuda aí
sou novato em programaçao, creio que meu problema seja de lógica mesmo

Eu estou fazendo o seguinte:
Abrir uma janela para o usuário digitar o tamanho do Array que ele quer:
Depois disso, abrir nova janela pedindo pra ele colocar quantas posiçoes do array vao ser ocupadas (nao precisam ser todas, a idéia é deixar algumas posiçoes em branco, para depois o usuário fazer uma inclusao manual).
Coloquei uns System.ou.println pra me guiar ali no meio, depois eu vou retirá-los.

tá aí o que eu começei a fazer

import java.util.Random;

import javax.swing.JOptionPane;
public class Construtora {

	/**
	 * by jonasre
	 */

	public static void main(String[] args) {
		
	/*inicia o randomizador de numeros*/
	Random aleatorio = new Random();

	/* faz leitura do tamanho do array*/
	    int i = 0;
    
	    i = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o Tamanho do Array"));
	
    	int v [] = new int [i];
	
    	System.out.println("Tamanho do array = " + i);
    /* termina leitura do tamanho do array*/
	
    /* faz leitura da quantidade a ser populado do array*/
    	
    	int populados = 0;
    	int vetorpopulados [] = new int [populados];
    	   	
    	populados = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a Quantidade de Valores a serem gerados no array"));
    	
    	for (int cont = 0; cont < populados; cont ++);
    	{
    			vetorpopulados[aleatorio.nextInt(populados)]++;
    	      	System.out.println(" veja os numeros sorteados" + vetorpopulados);
    	
    	
    	}
  	}
}

Erro:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at Construtora.main(Construtora.java:34)

Peço desculpas caso eu tenha infringido alguma regra.

Espero ter sido claro da situação, caso nao fui podem me perguntar ^^

1 Resposta

walissongpi

Boa noite. Bem, vc está acessando um indice do array que não existe.
Veja os comentários

jonasre:
import java.util.Random;

import javax.swing.JOptionPane;
public class Construtora {

	/**
	 * by jonasre
	 */

	public static void main(String[] args) {
		
	/*inicia o randomizador de numeros*/
	Random aleatorio = new Random();

	/* faz leitura do tamanho do array*/
	    int i = 0;
    
	    i = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o Tamanho do Array"));
	
    	int v [] = new int [i];// nessa linha vc cria um array com i posições; ok
	
    	System.out.println("Tamanho do array = " + i);
    /* termina leitura do tamanho do array*/
	
    /* faz leitura da quantidade a ser populado do array*/
    	
    	int populados = 0;
    	int vetorpopulados [] = new int [populados]; // aqui vc está criando um array com 0 posições
    	   	
    	populados = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a Quantidade de Valores a serem gerados no array"));
//deve ficar aqui  -> int vetorpopulados [] = new int [populados];  
 
    	
    	for (int cont = 0; cont < populados; cont ++);
    	{
    			vetorpopulados[aleatorio.nextInt(populados)]++; 
    	      	System.out.println(" veja os numeros sorteados" + vetorpopulados);
    	
    	
    	}
  	}
}

Criado 17 de maio de 2010
Ultima resposta 17 de mai. de 2010
Respostas 1
Participantes 2