1
resposta

[Projeto] Aplicação de músicas

Audio:

package br.alura.desafio.modelo;

public class Audio {
    private String titulo;
    private int totalReproducao;
    private int curtidas;
    private int classificacao;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public int getCurtidas() {
        return curtidas;
    }

    public int getTotalReproducao() {
        return totalReproducao;
    }

    public int getClassificacao() {
        return classificacao;
    }

    public void curtir(){
        this.curtidas++;
    }

    public void reproduz(){
        this.totalReproducao++;
    }
}

Podcast:

package br.alura.desafio.modelo;

public class Podcast extends Audio {
    private String host;
    private String descricao;

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    @Override
    public int getClassificacao() {
        if (this.getCurtidas() >= 500){
            return 10;
        } else if (this.getCurtidas() <= 250) {
            return 8;
        } else {
            return 6;
        }
    }
}

Musica:

package br.alura.desafio.modelo;

public class Musica extends Audio {
    private String album;
    private String cantor;
    private String genero;

    public String getAlbum() {
        return album;
    }

    public void setAlbum(String album) {
        this.album = album;
    }

    public String getCantor() {
        return cantor;
    }

    public void setCantor(String cantor) {
        this.cantor = cantor;
    }

    public String getGenero() {
        return genero;
    }

    public void setGenero(String genero) {
        this.genero = genero;
    }

    @Override
    public int getClassificacao() {
        if (getTotalReproducao() > 500){
            return 10;
        } else if (getTotalReproducao() <= 250) {
            return 8;
        } else {
            return 6;
        }
    }
}

MinhasPreferidas:

package br.alura.desafio.modelo;

public class MinhasPreferidas {

    public void inclui (Audio audio){
        if (audio.getClassificacao() > 8){
            System.out.println(audio.getTitulo() + " é considerado um sucesso absoluto!");
        } else if (audio.getClassificacao() <=7) {
            System.out.println(audio.getTitulo() + " esta em alta, porem há melhores!");
        } else {
            System.out.println(audio.getTitulo() + " complicado essa ai meu chapa!");
        }
    }

}

Principal:

package br.alura.desafio.principal;

import br.alura.desafio.modelo.MinhasPreferidas;
import br.alura.desafio.modelo.Musica;
import br.alura.desafio.modelo.Podcast;

public class Principal {
    public static void main(String[] args) {
        Musica minhaMusica = new Musica();
        minhaMusica.setCantor("Matuê");
        minhaMusica.setTitulo("Reza do Milhao");
        minhaMusica.setGenero("Trap");

        for (int i = 0; i < 10000; i++) {
            minhaMusica.reproduz();
        }
        for (int i = 0; i < 50; i++) {
            minhaMusica.curtir();
        }

        Podcast meuPodcast = new Podcast();
        meuPodcast.setTitulo("BolhaDev");
        meuPodcast.setHost("Marcus Mendes");

        for (int i = 0; i < 50000; i++) {
            meuPodcast.reproduz();
        }

        for (int i = 0; i < 500; i++) {
            meuPodcast.curtir();
        }

        MinhasPreferidas minhaPreferida = new MinhasPreferidas();
        minhaPreferida.inclui(minhaMusica);
        minhaPreferida.inclui(meuPodcast);
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá Vinicius.
Seu projeto esta ficando muito bom.
Parabéns.
Uma sugestão é adicionar ele em um repositorio no github e utilizar o git para controlar as versoes.
Assim vai poder fazer alterações em seu código sem se preocupar em quebrar o codigo.
Outra vantagem se deixar publico para que outros possam contribuir e dar sugestões.
Continue seu ótimo trabalho.
Bons estudos.
E se precisar de algo só chamar.