Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida ao resolver um problema

Boa tarde,

Recebi um desafio de uma empresa como parte do processo seletivo. Contudo estou com dificuldades na implementação do problema.

link do problema: https://github.com/sumoners/s1-programming-challenges/blob/master/v2/README.md#requisitos-funcionais

A partir do momento que já inicializei as variáveis, não sei como poderia trabalhar com seus dados de forma a classificar estes de forma ascendente ou descendente e imprimi-los em ordem.

Gostaria de saber como resolver tal problema, e se possível, agradeço se linkarem as aulas do curso de Java as quais me auxiliarão a lidar com essa solução.

Abaixo está o código das duas classes que já criei:

Classe Biblioteca

package biblioteca;

public class Livro {
    private String autor;
    private String titulo;
    private int ano;
    private static int total;

    public Livro(String titulo, String autor, int ano) {
        total++;
        this.titulo = titulo;
        this.autor = autor;
        this.ano = ano;
    }

    public String getAutor() {
        return autor;
    }
    public void setAutor(String autor) {
        this.autor = autor;
    }
    public String getTitulo() {
        return titulo;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public int getAno() {
        return ano;
    }
    public void setAno(int ano) {
        this.ano = ano;
    }
}

e uma classe para testar o código.

package biblioteca;

public class TestaBiblioteca {

    public static void main(String[] args) {
        Livro livro1 = new Livro("Java How To Program", "Deitel & Deitel", 2007);

        Livro livro2 = new Livro("Patterns of Enterprise Application Architecture", "Martin Fowler", 2002);

        Livro livro3 = new Livro("Head First Design Patterns", "Elisabeth Freeman", 2004);

        Livro livro4 = new Livro("Internet & World Wide Web: How to Program", "Deitel & Deitel", 2007);

    }
}
2 respostas

Oi Gustavo, tudo bem? O curso que você procura é o de Collections: https://cursos.alura.com.br/course/java-collections

Bom, pra você trabalhar com ordem, você vai precisar agrupar esses objetos de alguma forma. É ai que entram as Collections com listas, etc.

Acho que depois de ver as 3 primeiras aulas desse curso, você já resolve esse problema.

solução!

Olá Gustavo!

Uma forma simples de você realizar ordenações é implementando um Comparable na classe Livro.

Fazendo isto, na classe TestaBiblioteca você teria algo como: Collections.sort(livros, Comparator.comparing(Livro::getTitulo));

E você também pode usar um método para que sua ordenação fique como asc ou desc, usando: reversed().

Temos dois cursos que pode te auxiliar: https://cursos.alura.com.br/course/java-collections, https://cursos.alura.com.br/course/java8-lambdas