0
respostas

[Diferencial] Desafio: hora da prática - Conta Bancaria | Desafiei-me

Fazendo esta publicação só para mostrar uma forma diferente da que está na resolução do curso de java, e fugir um pouco do padrão que estão ensinando a gente, resolvi me aprofundar mais em alguns topicos do java como Collections, Streams, Lambda, Optionals & Method Referencs, ainda estou bem no inicio disso, muitas dúvidas e alguns dificuldades para implementação na hora de por em pratica, mas isso aprendemos com o tempo e dedicação. Está é a minha resolução para o desafio da Conta Bancaria, afinal, foi o único que fiz por estar cansado de já ter passado o dia estudando. Só um adento, estou usando a dependency do lombok em meus projetos para simplificar os códigos usando de anotações e evitar ter de ficar escrevendo os métodos get set toString e demais, caso queiram, podem dar uma olhada no tipo Record do Java, implementado na versão 16, ele é um substituto do próprio Java para o uso do lombok.

Desafio 6 - Conta Bancaria

Crie uma classe ContaBancaria com propriedades como número da conta e saldo. Em seguida, crie uma lista de contas bancárias com diferentes saldos. Utilize um loop para encontrar e imprimir a conta com o maior saldo.

Class BankAccount

package com.rickmviana.github.entity;

@lombok.Getter
@lombok.RequiredArgsConstructor
@lombok.AllArgsConstructor
@lombok.ToString
public class BankAccount {

    private final int ID;
    private double balance;
}

Class Main

package com.rickmviana.github;

import com.rickmviana.github.entity.BankAccount;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;

public class Test02 {

    public static void main(String[] args) {
        List<BankAccount> bankAccounts = new ArrayList<>();

        bankAccounts.add(new BankAccount(1, 5000.0));
        bankAccounts.add(new BankAccount(2, 1350.0));
        bankAccounts.add(new BankAccount(3, 11000.0));
        bankAccounts.add(new BankAccount(4, 9000.0));

        getBankAccount(bankAccounts).ifPresent(System.out::println);

    }

    private static Optional<BankAccount> getBankAccount(List<BankAccount> bankAccount) {
        return bankAccount.stream()
                .max(Comparator.comparingDouble(BankAccount::getBalance));
    }
}

imagens de como ficou o código: Class BankAccount Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Class Main Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero que isso ajude alguém no futuro que venha a fazer esta formação, não sou nem um especialista kkk, mas gosto de partilhar o que aprendo ou estou a aprender.