1
resposta

Desafio Alura

uma duvida.. Quando uso arraylist e coloco listaContas.add(conta1);
listaContas.add(conta2);
listaContas.add(conta3); não aparece com os "guias" como as outras coisas que aparece. sinto como estivesse fazendo e ta errado... poderia explicar? ```
import java.util.Arraylist;

class ContaBancaria {
private int numeroDaConta;
private double saldo;

public ContaBancaria(int numeroDaConta, double saldo) {
    this.numeroDaConta = numeroDaConta;
    this.saldo = saldo;

}

public int getNumeroDaConta() {
    return numeroDaConta;
}

public double getSaldo() {
    return saldo;
}

public class main {
    public static void main(String[] args) {

        ContaBancaria conta1 = new ContaBancaria(32808, 1500000);
        ContaBancaria conta2 = new ContaBancaria(40885, 80000);
        ContaBancaria conta3 = new ContaBancaria(32808, 169000);
    }

    Arraylist<ContaBancaria> listaContas = new Arraylist<>();
listaContas.add(conta1);
listaContas.add(conta2);
listaContas.add(conta3);

    ContaBancaria contaMaiorSaldo = listaDeContas.get(0);
for(
    ContaBancaria conta :listaContas)

    {
        if (conta.getSaldo() > contaMaiorSaldo.getSaldo()) {
            contaMaiorSaldo = conta;
        }
    }

System.out,println( " Conta com maior saldo - número: " + contaMaiorSaldo.getNumeroConta() + "saldo: "+ contaMaiorSaldo.getSaldo() )
}
}
```

1 resposta

Oi! o problema não é o ArrayList em si, tem alguns erros no código que fazem parecer que “não está funcionando” ou que a IDE não reconhece direito. Vou direto ao ponto.

Primeiro: import errado e nome da classe

import java.util.ArrayList;

Você escreveu Arraylist (com “l” minúsculo). Java diferencia maiúsculas de minúsculas, então isso quebra tudo.

E aqui também:

ArrayList<ContaBancaria> listaContas = new ArrayList<>();

Segundo: estrutura da classe está incorreta

Você abriu ContaBancaria e colocou a main dentro dela sem fechar corretamente. Além disso, o código da lista está fora do método main, o que não pode.

Terceiro: erros de digitação que quebram o código

  • listaDeContas → deveria ser listaContas
  • System.out,println → o correto é System.out.println
  • getNumeroConta() → você criou getNumeroDaConta()

uma versão corrigida e funcional:

import java.util.ArrayList;

class ContaBancaria {
    private int numeroDaConta;
    private double saldo;

    public ContaBancaria(int numeroDaConta, double saldo) {
        this.numeroDaConta = numeroDaConta;
        this.saldo = saldo;
    }

    public int getNumeroDaConta() {
        return numeroDaConta;
    }

    public double getSaldo() {
        return saldo;
    }
}

public class Main {
    public static void main(String[] args) {

        ContaBancaria conta1 = new ContaBancaria(32808, 1500000);
        ContaBancaria conta2 = new ContaBancaria(40885, 80000);
        ContaBancaria conta3 = new ContaBancaria(32808, 169000);

        ArrayList<ContaBancaria> listaContas = new ArrayList<>();
        listaContas.add(conta1);
        listaContas.add(conta2);
        listaContas.add(conta3);

        ContaBancaria contaMaiorSaldo = listaContas.get(0);

        for (ContaBancaria conta : listaContas) {
            if (conta.getSaldo() > contaMaiorSaldo.getSaldo()) {
                contaMaiorSaldo = conta;
            }
        }

        System.out.println(
            "Conta com maior saldo - número: "
            + contaMaiorSaldo.getNumeroDaConta()
            + " saldo: "
            + contaMaiorSaldo.getSaldo()
        );
    }
}

Sobre o que você comentou de “não aparecer com os guias”:

Isso acontece quando:

  • tem erro de compilação (como esses de digitação)
  • a IDE não reconhece o tipo (ArrayList errado)
  • o código está fora de um método válido

Ou seja, não é que você está usando errado o problema é que os erros anteriores impedem a IDE de te ajudar.