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);
}
}