Duvidas em criando e percorrer um vetor

Salve galera !
estou tentando criar um vetor no meu codigo aqui para que assim eu possa criar um metodo que descreva todas as contas quando eu pedir
porem ja analisei varias vezes e ja tentei aqui mais nao vejo uma forma de como fazer isso.
o codigo e referente a um sisteminha interno de banco me simples coisa de iniciante porem todos os dados ja sao captados pelo teclado
ele tem a classe main, classe funcionario, conta , cliente e gerente
as classes conta, gerente e funcionario estao funcionando perfeitamente onde fazem todas as operações e métodos inclusive existe um metodo que descreve a conta depois de preenchida.
agora gostaria de um que insira as contas no vetor e descreva o vetor mais nao tenho a minima ideia de como fazer.

alguem pode me ajudar?

abaixo o codigo main

[code]

public static void main(String[] args) {

    
    Conta[] contas = new Conta[4];  
    Conta conta1 = new Conta();
    Conta conta2 =new Conta();
            
    contas[0]=conta1;
    contas[1]=conta2;
    
    Funcionario[] func =new Funcionario[4];
    Funcionario f1=new Funcionario();
    

    
    
    /*
    conta1.pegaDadosConta();
    conta1.descricaoDeConta();
    conta1.operacaoDeposito();
    conta1.descricaoDeConta();
    conta1.operacaoSacar();
    conta1.descricaoDeConta();
    
    Gerente gerente = new Gerente();
    gerente.defineSenha();
    gerente.verificaSenha();
   */

}
}[/code]

abaixo a classe conta " creio que algo deve ser feito aqui " minha ideia era se talvez o vetor fosse criado aqui



package banco;

import java.util.Scanner;


public class Conta {
    
    private int numero;
    private Cliente titular=new Cliente();
    private double saldo;
    private double limite;
    private double valordepositado;
    private double valorSacado;
    private String nomeT;
    private int numeroC;
    private String nomeSobrenome;
    private String cpfT;
    private double valorsaldo;
    private double valorlimite;
 
     
    Scanner num=new Scanner(System.in);
    Scanner dados=new Scanner(System.in);
    Scanner valores=new Scanner(System.in);
    
    
    Scanner entradaDeDados=new Scanner(System.in);
    public void operacaoDeposito(){
        System.out.println("=Operaçao de deposito=");
        System.out.println("Digite o valor a ser depositado");
        valordepositado=entradaDeDados.nextDouble();
        
        this.saldo+=valordepositado; 
        System.out.println("Valor " +valordepositado+" depositado");
    }
    
    
    public void operacaoSacar(){
        System.out.println("=Operaçao de saque=");
        System.out.println("Digite o valor a ser sacado:");
        valorSacado=entradaDeDados.nextDouble();
        
        if (this.saldo<valorSacado){
          System.out.println("Saldo insulficiente");
          
        }
        else{
            this.saldo-=valorSacado;
            System.out.println("Saque efetuado com sucesso, valor:"+ valorSacado);
           
        }
       }
      
    
    public void pegaDadosConta(){
        System.out.println("=Inserindo dados na conta=");
        System.out.println("Digite numero da conta:");
        numero=num.nextInt();
        
        System.out.println("Digite nome do titular;");
        titular.nome=dados.nextLine();
        
        
        System.out.println("Digite sobrenome do titular");
        titular.sobrenome=dados.nextLine();
        
        System.out.println("Digite CPF do titular 'sem pontos'");
        titular.cpf=dados.nextLine();
        
        System.out.println("Difina saldo inicial da conta:");
        saldo=valores.nextDouble();
        
        System.out.println("Difina limite inicial da conta:");
        limite=valores.nextDouble();
        
    }
    
    public void setNumeroConta(int numero){
        this.numero=numero;
        
    }
    public int getNumeroConta(){
        return this.numero;
    }
    
    public void setNomeTitular(String nome){
        this.titular.nome=nome;
    }    
    public String getNomeTitular(){
        return titular.nome;
    }
    public void setNomeSobrenome(String nomesobrenome){
        this.titular.sobrenome=nomesobrenome;
    }
    public String getNomeSobrenome(){
        return titular.sobrenome;
    }
    public void setCPF(String cpf){
        titular.cpf=cpf;
    }
    public String getCPF(){
        return titular.cpf;
    }
    public void setsaldo(double valorsaldo){
        saldo=valorsaldo;
    }
    public double getSaldo(){
        return saldo;
    }
    public void setLimite(double valorlimite){
        limite=valorlimite;
    }
    public double getLimite(){
        return limite;
    }
   
    boolean transfere (Conta numero, double valor){
        if(valor>saldo){
            System.out.println("saldo insulficiente para transferencia");
            return false;
        }else{
            this.saldo=this.saldo-valor;
        numero.saldo=numero.saldo+valor;
        System.out.println("Transferencia feita com sucesso! valor:"+ valor);
        return true;
        }
    }
    
 
    public void descricaoDeConta(){ 
        System.out.println("=Descriçao de conta=");
        System.out.println("Numero da conta:"+ this.getNumeroConta() );
        System.out.println("Nome do titular:"+this.getNomeTitular());
        System.out.println("Sobrenome do titular:"+this.getNomeSobrenome());
        System.out.println("Cpf do titular: "+this.getCPF());
        System.out.println("Saldo: "+this.getSaldo());
        System.out.println("Limite: "+this.getLimite());
    }    
      
    
    
}

grato pela ajuda!

Se quer adicionar um objeto Contas ao seu vetor, é basicamente isso que deve fazer:

Conta[] contas = new Conta[3]; contas[0] = conta1; contas[1] = conta2; contas[2] = conta3;

Se que conta1, conta2 e conta3 são objetos Conta que você criou, “na mão” ou em um laço de repetição por exemplo.

Ola AndreLopes,

Acredito que a forma mais simples seria vc cria um for a aparti dai ir setando os valores em cada campo

Tipo:

Conta[] conta = new Conta();

for(i=0; i< conta.size; i++){

 conta[i].setNumero = numero;
 conta[i].setNomeTitular = nomeTitular;
 .
 .
 .

}

Pelo menos eu sempre passo por essa situação e uso algo em torno disso. Pra mim o melhor codigo, é a forma mais simples possivel.

Da uma olhada e posta ai qualquer coisa…

Flw

Esqueci de mostrar como percorrer ela, existem algumas formas, mas tem duas “mais simples”, suponha o uso do array contas:

for(int index = 0; index < contas.length(); index++) { Conta c = contas[index]; // faça o que quiser... }

Ou usando o ‘famoso’ foreach:

for(Conta c : contas) { // tem disponível a referencia ao objeto em 'c', faça o que quiser... }

Abraços…

[quote=gabriel_panassol]Ola AndreLopes,

Acredito que a forma mais simples seria vc cria um for a aparti dai ir setando os valores em cada campo

Tipo:

Conta[] conta = new Conta();

for(i=0; i< conta.size; i++){

 conta[i].setNumero = numero;
 conta[i].setNomeTitular = nomeTitular;
 .
 .
 .

}

Pelo menos eu sempre passo por essa situação e uso algo em torno disso. Pra mim o melhor codigo, é a forma mais simples possivel.

Da uma olhada e posta ai qualquer coisa…

Flw[/quote]

Você só instanciou o vetor errado…

Conta[] contas = new Conta[3];

kkkkk… ops :lol:

Valeu galera , me ajudou muito !
vou tentar aqui duranta a tarde qualquer coisa recorro ao forum novamente !

abraços!

[quote=nel][quote=gabriel_panassol]Ola AndreLopes,

Acredito que a forma mais simples seria vc cria um for a aparti dai ir setando os valores em cada campo

Tipo:

Conta[] conta = new Conta();

for(i=0; i< conta.size; i++){

 conta[i].setNumero = numero;
 conta[i].setNomeTitular = nomeTitular;
 .
 .
 .

}

Pelo menos eu sempre passo por essa situação e uso algo em torno disso. Pra mim o melhor codigo, é a forma mais simples possivel.

Da uma olhada e posta ai qualquer coisa…

Flw[/quote]

Você só instanciou o vetor errado…

Conta[] contas = new Conta[3];

[/quote]

Na verdade, agora que olhei com calma, instanciou o vetor errado e em seguida daria NullPointerException.
Segue um exemplo de como deve ser o preenchimento e posteriormente a leitura:

Conta[] contas = new Conta[3];
// popula
// suponha que dentro desse laço de repetição, você pede ao usuário
// o numero da conta e a agencia...
for (int index = 0; index < contas.length(); index++) {
   Conta c = new Conta();
   c.setNumero(numero);
   c.setAgencia(agencia);

   contas[i] = c;
}

// imprimir os dados
for (Conta c : contas) {
   System.out.println("Agencia: " + c.getAgencia());
}

Espero ter sido claro.