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

como recuperar um atributo de uma classe

boa noite, estou fazendo um exemplo de sistema para banco, nele tenho as seguintes classes:

public class Cliente  {
    private String nomeCliente, cpf_cnpj, endereco , fone;

    public Cliente(String nomeCliente, String cpf_cnpj, String endereco,String fone){
        this.nomeCliente = nomeCliente;
        this.cpf_cnpj = cpf_cnpj;
        this.endereco = endereco;
        this.fone = fone;

public class Conta {

    private int numeroConta;
    private double saldo;
    private Cliente cliente;
    private List<Movimentacao> movimentacoes;

    private static int proximoNumumeroConta;

    public Conta(Cliente cliente) {
        super();
        this.numeroConta = ++proximoNumumeroConta;
        this.saldo = 0.0;
        this.cliente = cliente;
        this.movimentacoes = new ArrayList<>();
    }

estou implementando a interface, e preciso fazer um metodo pra excluir uma conta, mas nao sei como posso pegar o numero da conta usando o cpf do cliente, sendo que este ultimo e um objeto/atributo da conta. como posso fazer isso?

6 respostas

Fala ai Kaique, tudo bem ?

Cara você pode implementar os getters em suas classes, que pode te ajudar com isso.

Se você ainda não conhece esse conceito, dá uma olhadinha nesse curso aqui: https://cursos.alura.com.br/course/java-introducao-orientacao-objetos

Boa noite, Kaique! Como vai?

Se vc tiver uma lista de contas, vc pode percorrer essa lista e excluir a conta cujo cliente tem o mesmo CPF que vc deseja! Mas, pra poder remover durante a iteração, vc terá que utilizar um Iterator.

Exemplo prático com String:

public class TesteRemocaoLista {
     public static void main(String[] args) {
          List<String> lista = new ArrayList<>();
          lista.add("a");
          lista.add("b");
          lista.add("c");

          System.out.println( lista );

          for (Iterator<String> iterator = lista.iterator(); iterator.hasNext();) {
               String string = (String) iterator.next();
               if (string.equals("b")) {
                    iterator.remove();
               }
          }

          System.out.println(lista);
     }
}

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

eu fiz uma lista com todas as contas que existem no banco, so nao sei recuperar o numero da conta usando um atributo de cliente. minha duvida e de como posso chamar esse atributo (do objeto maior "conta" ) que contem um objeto menor (cliente) usando um atributo do cliente.

solução!

Opa, Kaique!

Se vc já implementou os métodos getter e setter como o Matheus falou, então dado que vc tem um objeto do tipo Conta armazenado na variável c1, para pegar o , basta fazer:

c1.getCliente().getCpf();

Vc disse que tem que pegar o número da conta com base no CPF do cliente, certo? Então basta iterar por sua lista de contas verificando se a o CPF do cliente dono da conta é igual ao CPF informado. Para isso vc usará o código que eu mostrei logo acima.

Qualquer coisa é só falar!

Grande abraço e bons estudos!

consegui fazer, era isso mesmo. Muito obrigado

Por nada, Kaique! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!