Duvida - [Java] Criando um contador usando Getters

O programa deve criar varias contas, e cada conta criada deve ter um numero de identificador
Esse é o programa, não estou conseguindo obter um identificador para cada conta criada pelo programa.

package cap05;
public class Conta {
private String titular;
private int numero;
private double saldo;
static int identificador = 0;

   /*public Conta() {
       ++this.identificador;
       
        /*construtor Vazio para caso o usuario queria 
        entrar com os parametros depois
        
        
    }*/
    public Conta(String titular,int Numero,double saldoInicial) {
        
        this.titular = titular;
        this.numero = Numero;
        this.saldo = saldoInicial;
        ++this.identificador;
        
    }
    
    public int getIdentificador(){
        return this.identificador;
    }
    
    public String getTitular(){
        return this.titular;
    }
    
    public void setTitular(String name){
        this.titular = name;
    }
    
     public int getNumero(){
        return this.numero;
    }
    
    public void setNumero(int number){
        this.numero = number;
    }
    
     public double getSaldo(){
        return this.saldo;
    }
    
    public void setSaldo(double money){
        this.saldo = money;
    }
    private void sacar(double quantidade){
        double novoSaldo = this.saldo - quantidade;
    }
    private void depositar(double quantidade){
        this.saldo+=quantidade;
    }
    public void status(){
        System.out.println("Nome do Titular: " +this.getTitular());
        System.out.println("Numero da Conta: " +this.getNumero());
        System.out.println("Saldo: " +this.getSaldo());
        System.out.println("Identificacao: " +this.getConta());
        System.out.println("_____");
    }

}

package cap05;
public class Cap05 {
public static void main(String[] args) {
//Conta c1 = new Conta();
Conta c2 = new Conta(“Jaspion”,5555,789);
Conta c3 = new Conta(“Hall”,6666,7856);

//c1.setTitular("Django Livre");
//c1.setNumero(2222);
//c1.setSaldo(656);
//c1.status();

c2.status();
c3.status();

}

}

Hmm, o contador deveria incrementar e a conta ter seu número a partir desse incremento né?
Como o “static int identificador” todas as contas vão possuir o mesmo número a partir do “getIdentificador”. Da para solucionar isso adicionando um outro identificador para a conta.

Na classe conta adicione um id para a conta e faça que ela seja igual ao identificador na criação da conta:

public class Conta {
//variáveis…
int id_conta;

    public Conta(String titular,int Numero,double saldoInicial) {
    id_conta = identificador;
    this.titular = titular;
    this.numero = Numero;
    this.saldo = saldoInicial;
    ++this.identificador;
}

}

Dai basta adicionar o getter e mudar na função status para mostrar esse “id_conta”. Acho que é isso, qualquer dúvida a disposição.

1 curtida

Muito Obrigado, você é um amigo

1 curtida