Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Minha Solução] Desafio Criar Classe Titulo

Desafio2. Crie uma classe Titulo com um atributo nome do tipo String. Implemente a interface Comparable na classe para que seja possível ordenar uma lista de objetos Titulo.


import java.util.*;
import static java.lang.System.exit;

public class Titulo implements Comparable <Titulo> {
    private String nome;
    private String outroNome;

    List<String> titulo = new ArrayList<>();
    Scanner sc = new Scanner(System.in);

    //Construtor
    public Titulo(String nome) {
        this.nome = nome;
    }

    //Sobrecarga método toString
    @Override
    public String toString() {
        return "Titulo: " + " - " + this.getNome().toString();
    }

    //Método entrada de Dados
    public void entrarDados() {
        int opcao = 1;
        do {
            System.out.println("\n===== ENTRADA DE TITULOS =====");
            System.out.println("1 - CADASTRAR TITULO");
            System.out.println("2 - LISTAR TITULO");
            System.out.println("0 - SAIR");
            int selecao = sc.nextInt();
            switch (selecao) {
                case 1:
                    System.out.println("Insira o Titulo: ");
                    this.setNome(sc.next());
                    titulo.add(this.getNome());
                    for (int i = 0; i < titulo.size(); i++) {
                        System.out.println(i +  " - " + "Titulo: " + titulo.get(i).toString());
                    }
                    break;
                case 2:
                    //em desenvolvimento;
                    break;
                case 0:
                    System.out.println("Saindo do programa...");
                    exit(0);
            }
        } while (opcao == 1);
    }

    //Getters e Setters
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    //Sobrecarga Método Comparable
    @Override
    public int compareTo(Titulo outroTitulo) {
        return this.outroNome.compareTo(outroTitulo.outroNome);
    }
}
1 resposta
solução!

Oi, Carlos Eduardo, como vai?

Obrigada por compartilhar seu código com a comunidade Alura! Seu trabalho está muito bom, você implementou a interface Comparable e estruturou bem o cadastro e listagem de títulos.

Um ponto interessante que você pode explorar é ajustar o método compareTo para comparar o atributo nome em vez de outroNome, já que é o atributo que você utiliza para os títulos. Caso queira se aprofundar mais no tema de ordenação e interfaces em Java, recomendo a leitura do artigo sobre ordenação e Comparable na Alura.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!