Ajuda - java: cannot find symbol symbol: variable contabanks location: class co.javabank.bank.Bancos - Não acho o erro!

Já revisei o codigo mas não sei porque aparece essa questão no compillador, o metodo deveria funcionar mas essa referência da ação contabanks.add(contabank); não ascende não funciona e provoca erro.

Alguem pode me ajudar com isso abaixo o codigo !

package co.javabank.bank;

import java.util.List;
import java.util.ArrayList;

public class Bancos {
    
    private String agencia;
    private List<Contabank> contabank;
    private int UltimaContabank = 1;
    
    public Bancos(String agencia) {
        this.agencia = agencia;
        this.contabank = new ArrayList<>();
    }
    
    public List<Contabank> getContabank() {
        return contabank;
    }
    
    public void entradadosContabank(Contabank contabank) {
        contabanks.add(contabank);
    }
    
    public Contabank geracaoContabank(String usuario) {
        Contabank contabank = new Contabank(agencia, "" + UltimaContabank,usuario);
        UltimaContabank++;
        return contabank;
    }
    
    public void totalGeral() {
        double total = 0;
        
        for (Contabank contabank : contabanks) {
            double balanco = contabanks.getbalanco();
            total += balanco;
        }
        
        System.out.println("Banco possui agora: R$ " + total);
    }
}

Erro do compilador:

java: cannot find symbol
symbol:   variable contabanks
location: class co.javabank.bank.Bancos

Tentou traduzir a mensagem de erro?
O compilador está dando uma mensagem bastante clara.
Você está tentando usar uma variável chamada contabanks, mas essa variável não existe.

Fiz uma alteração como você disse e agora esta aparecendo um outro erro que não entendi !

java: cannot find symbol
symbol: method add(co.javabank.bank.Contabank)
location: variable contabank of type co.javabank.bank.Contabank

Codigo alterado!

public void entradadosContabank(Contabank contabank) {
    contabank.add(contabank);
}

public Contabank geracaoContabank(String usuario) {
    Contabank contabank = new Contabank(agencia, "" + UltimaContabank,usuario);
    UltimaContabank++;
    return contabank;
}

public void totalGeral() {
    double total = 0;
    
    for (Contabank contabank : contabank) {
        double balanco = contabank.balanco();
        total += balanco;
    }
    
    System.out.println("Banco possui agora: R$ " + total);
}
1 curtida

Lembre-se de sempre criar variáveis começando com letra minúscula: ultimaContaBank

1 curtida

Não sei se é isso, mas a lista foi declarada como contabank e vc está tentando acessar como contabanks.


Uma dica, essa lista:

private List<Contabank> contabank;

poderia se chamar apenas contas, pois é autoexplicativo. Como vc já está numa classe chamada Banco (isso, em vez de Bancos, melhor apenas Banco, pois a classe representa apenas UM e não vários bancos), o nome contas já indica bem o que ela representa, uma lista de contas que pertence ao banco.

1 curtida