1
resposta

[Projeto] Projeto prático do compareTo()

// Criar a classe Conta
public class Conta implements Comparable<Conta> {
    private String titular;
    private double saldo;

    // Criar o método construtor
    public Conta(String titular, double saldo) {
        this.titular = titular;
        this.saldo = saldo;
    }

    // Criar os métodos Getters e Setters
    public String getTitular() {
        return titular;
    }

    public void setTitular(String titular) {
        this.titular = titular;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }


    // Sobrescrever o método para imprimir as informaçãoes da conta
    @Override
    public String toString() {
        return titular + " - " + saldo;
    }

    //  Sobrescrer o método para fazer a ordenação pelo saldo da conta na ordem decrescente
    @Override
    public int compareTo(Conta outra) {
        if (this.saldo < outra.saldo) {
            return 1;
        } else if (this.saldo > outra.saldo) {
            return  -1;
        } else {
            return 0;
        }
    }
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        // Instanciar a classe Conta
        Conta conta = new Conta("primeiraConta", 100.00);
        Conta conta1 = new Conta("SegundaConta", 150.00);

        // Criar a lista de contas
        ArrayList<Conta> contas = new ArrayList<>();
        contas.add(conta);
        contas.add(conta1);

        // Imprimir contas
        System.out.println("-------- Imprimir contas na ordem natural --------");
        System.out.println(contas);
        System.out.println();

        // Utilizando a interface Comparable na classe Conta e fazendo a implementação do método compareTo()
        Collections.sort(contas);

        // Imprimir contas
        System.out.println("-------- Imprimir contas em ordem decrescente de saldo --------");
        System.out.println(contas);
    }
}

1 resposta

Bom dia, Everaldo! Tudo bem?

Parabéns pelo resultado na resolução do desafio, ficou ótimo!

Também agradeço por compartilhar seu código com os demais estudantes, com certeza vai ajudar nos estudos de todas as pessoas que estão aprendendo este mesmo assunto.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!