Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

array de cadastros

fiz um sisteminha de cadastro, mas queria colocar cada cadastro em uma posicao de array

package clienteCadastro;

public class Cliente {

    String nome;
    String cpf;
    int idade;
    Endereco endereco;
    Data dataCadastro;

    public void mostra() {
        System.out.println("Cliente: " + nome);
        System.out.println("CPF: " + cpf);
        System.out.println("Idade " + idade);
        System.out.println("Endereco: " + endereco.rua + ", " + endereco.numero);
        System.out.println("Bairro: " + endereco.bairro);
        System.out.println("Cidade: " + endereco.cidade + " - " + endereco.estado);
        System.out.println(dataCadastro.imprimeData());
        System.out.println("");
    }

}

package clienteCadastro;

public class Endereco {

    String rua;
    int numero;
    String bairro;
    String cidade;
    String estado;

}

package clienteCadastro;

public class Data {

    int dia;
    int mes;
    int ano;

    public void formataData(int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    public String imprimeData() {
        return this.dia + "/" + this.mes + "/" + this.ano;
    }

}

package clienteCadastro;

public class TestaCliente {

    public static void main(String[] args) {

        Cliente cliente1 = new Cliente();
        cliente1.nome = "Jose da Silva";
        cliente1.cpf = "142.452.129.36";
        cliente1.idade = 36;
        cliente1.dataCadastro = new Data();
        cliente1.dataCadastro.formataData(25, 03, 2001);

        Endereco endereco1 = new Endereco();
        endereco1.rua = "Barao do Amazonas";
        endereco1.numero = 1463;
        endereco1.bairro = "Sumare";
        endereco1.cidade = "Ribeirao Preto";
        endereco1.estado = "SP";

        Cliente cliente2 = new Cliente();
        cliente2.nome = "Francisco de Souza";
        cliente2.cpf = "415.251.169-66";
        cliente2.idade = 45;
        cliente2.dataCadastro = new Data();
        cliente2.dataCadastro.formataData(15, 02, 1996);

        Endereco endereco2 = new Endereco();
        endereco2.rua = "lafayete";
        endereco2.numero = 857;
        endereco2.bairro = "centro";
        endereco2.cidade = "Ribeirao Preto";
        endereco2.estado = "SP";



        cliente1.endereco = endereco1;
        cliente2.endereco = endereco2;


        cliente1.mostra();
        cliente2.mostra();


    }

}
7 respostas

Bom dia Leonardo, nesse caso precisa ser feito na mão mesmo, a cada posição[i] você coloca seu cliente

mas eh isso que nao quero, quero que cada cadastro fique numa posicao do array

Exatamente, dai em cada posição você adiciona, por exemplo:

array[0] = cliente1; array[1] = cliente2;

Seria isso?

mais ou menos... no programa tenho os objetos cliente1, cliente2...clienteN. e esses clientes sao objetos...criei uma array, e gostaria que cada objeto ficasse em uma posicao, uma array de objetos! fiz uma array do objeto clientes: Cliente clientes[] = new Cliente[10];

solução!

Isso, dai precisa criar um array que armazena objetos por exemplo:

Cliente[] clientes = new Cliente[10]

é melhor usar ArrayList para isso.

Para a lista de clientes e as operações sobre ela não ficar solta no método estático main é interessante uma classe para encapsular essa lista de clientes. Pensa numa classe chamada CadastroDeClientes. Nela você coloca os atributos pertinentes ao controle de um cadastro. Precisa de um id? Precisa da data de criação? Pensa no que você deseja controlar em um cadastro.Não sei qual curso Java I você fez, eu fiz recentemente o mais antigo disponível na plataforma, quando terminar os antigos eu faço os novos. Lá tem um exemplo legal que é equivalente ao que tu desejas fazer. O exemplo é uma classe empresa e uma classe funcionário. A classe empresa tinha um array de funcionários.

Tenta pensar primeiro em termos de Classes sempre que possível. Já que além de programar tu também está modelando o sistema.

Apenas um rascunho:

class CadastroDeCliente{
    private String codigo;    
    private Data dataCriacaoDoCadastro;
    private Cliente[] clientes;
    //mais atributos e métodos
}