Array dinÂmico

10 respostas
N

Olá pessoal,

Tenho que criar um array dinâmico(sem usar arraylist ou algo parecido), para fazer um cadastro de clientes com os atributos Nome, telefone e CPF. A cada momento que o usuário cadastrar os dados o array deverá ser incrementado dinamicamente.

Por favor tem como me darem uma dica???

Abraços.

10 Respostas

peczenyj

Usando Vector?

N

O professor pede que criemos um array mesmo.

Valeu pela atenção Pekzeny.
Tem como me ajudar?

ddduran

Bom dia Nanda,

não sei se a ajuda que você quer é essa, mas você pode criar uma Bean
com esses atributos do cadastro e a cada entrada do usuario você cria uma nova instancia da bean popula os dados e a adiciona no Array

[]s

Mantu

Você pode criar uma classe(chamemos de VetorDinamico) que tenha internamente um vetor de Object simples (“blablabla[]”) para o armazenamento.
O tamanho inicial pode ser determinado no construtor desta classe.
Obviamente, esta classe tem que ter, basicamente, métodos para
:arrow: Inserir um elemento
:arrow: Recuperar um elemento
:arrow: Excluir um elemento
:arrow: Recuperar o número de elementos armazenados
A jogada está em você monitorar o tamanho do vetor conforme vai-se adicionando ou excluindo elementos.
Se o método adicionar for invocado, e o vetor interno já tiver cheio, vc cria um novo vetor com o dobro do tamanho, joga os elementos do vetor velho para o novo, adiciona o novo elemento ao vetor novo e “joga fora” o vetor velho. Não vamos entrar no mérito da performance aqui, afinal seu professor pediu apenas um vetor dinâmico :lol:
Tente implementar algo nesse estilo.
Divirta-se!

ddduran

hum acho que interpretei errado então, se seu trabalho for desenvolver algo tipo uma estrutura de dados, você pode tambem criar uma lista encadeada na mão, uma classe que tenha como atributo um objeto (que vai ser uma referencia) para outro objeto dessa classe, entaum quando você for encerir uma nova atribui esse novo elemento ao atributo do ultimo elemento adicionado… isso seria construir um ArrayList na unha :smiley:

é so procurar um livro de estrutura de dados

mas caso não seja um trabalho escolar use ArrayList que é uma estrutura otimizada
[]s

Mantu

Também pensei no caso de lista encadeada, mas do jeito que ela falou, parece que o professor tá mesmo querendo dar “trampo” pros alunos… :lol:, fazer eles ficar manipulando vetor mesmo.
Bom, ninguém melhor do que a NandaComp pra tirar essa dúvida!
E aí, NandaComp? Lista encadeada serve? Ou tem que ser vetor mesmo?

fabiozoroastro

:idea: Use Lista encadeada.
Abraço.

ddduran

nossa acho que quem ta precisando de uns trabalhos escolares sou eu…

“encerir” que vergonha, realmente desculpa

INSERIR

reparei so depois de enviar

Bravox

usando somente array tem essa opção ai !!

package br.com.guj;

public class Guj {
	
	private String[] s = new String[1];
	
	private int quantidade = 1; // quantidade de elementos;
	private int posicao = 0; // posição dos elementos
	
	public void addElemento( String elemento ){
		
		//cria um novo array conforme vai add elementos
		String[] temp = new String[quantidade];
		
		// add os elementos de s no novo array 
		for (int i = 0; i < s.length; i++) {
			
			temp[i] = s[i];
		}
		
		// add o o novo elemento 
		temp[posicao] = elemento;
		
		// repassa para s o novo array 
		s = temp;
		
		quantidade++;
		posicao++;
	}
	
	// Mostra os elementos 
	public void mostarElementos(){
		
		for (int i = 0; i < s.length; i++) {
			
			System.out.println( s[i]);
		}
	}
}

e para testar

package br.com.guj;

public class Teste {
	
	public static void main(String[] args) {
		
		Guj g = new Guj();
		
		g.addElemento( "Bravox" );
		g.addElemento( "Java" );
		g.addElemento( "Guj" );
		
		g.mostarElementos();
	}
}

lembrando que é um exemplo e vc tem que dar uma pequena modificada para o seu problema

bravox

LPJava

esse é o vleho mantu…vivendo como um fantasma… uhauha

Criado 14 de novembro de 2006
Ultima resposta 15 de nov. de 2006
Respostas 10
Participantes 7