package br.com.alura.minhasmusicas.principal;
import br.com.alura.minhasmusicas.modelos.Audio;
import br.com.alura.minhasmusicas.modelos.Musica;
import br.com.alura.minhasmusicas.modelos.Podcast;
import br.com.alura.minhasmusicas.modelos.Favoritos;
import br.com.alura.minhasmusicas.modelos.Classificacao;
public class Principal {
public static void main(String[] args) {
Musica musica = new Musica("Tudo É Fase (part. DJ WN)", 3, "Vida Loka, Pt. 2", "Racionais Mc´s" );
musica.exibirFicha();
Podcast podcast = new Podcast("Motivadores de Sucesso", 16, "Eslen Delanogare", "Como destravar seu desenvolvimento pessoal Neurocientista revela.");
podcast.exibirFicha();
Classificacao classificacao = new Classificacao();
for (int i = 0; i < 5000; i++) {
musica.reproduzir();
if (i % 5 == 0) {
musica.curtir();
}
}
for (int i = 0; i < 1000; i++) {
podcast.reproduzir();
if (i % 10 == 0) {
podcast.curtir();
}
}
classificacao.classificarPorCurtidas(musica);
classificacao.classificarPorReproducoes(musica);
System.out.println("\nClassificacao da musica: " + musica.getClassificacao());
classificacao.classificarPorCurtidas(podcast);
classificacao.classificarPorReproducoes(podcast);
System.out.println("Classificação do podcast: " + podcast.getClassificacao() + "\n");
Favoritos favoritos = new Favoritos();
favoritos.adicionar(musica);
favoritos.adicionar(podcast);
System.out.println("\nLista de favoritos:");
favoritos.listarFavoritos();
}
}
public class Audio {
private String titulo;
private int totalreproducoes;
private int totalCurtidas;
private int classificacao;
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getTitulo() {
return titulo;
}
public int getTotalreproducoes() {
return totalreproducoes;
}
public int getTotalCurtidas() {
return totalCurtidas;
}
public int getClassificacao() {
return classificacao;
}
public void curte(){
this.totalCurtidas++;
}
public void reproduz(){
this.totalreproducoes++;
}
public void exibirFichaAudio(){
System.out.println("Título: " + titulo);
System.out.println("Total de curtidas: "+totalCurtidas);
System.out.println("Total de reproduções: "+totalreproducoes) ;
System.out.println("-------------------------------------------------");
}
}
package br.com.alura.organizaaudio;
public class Musica extends Audio{
private String album;
private String artista;
private String genero;
public String getAlbum() {
return album;
}
public String getGenero(String s) {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public void setAlbum(String album) {
this.album = album;
}
public void setArtista(String artista) {
this.artista = artista;
}
@Override
public void exibirFichaAudio(){
System.out.println("Título da musica: " + getTitulo());
System.out.println("Total de curtidas: "+getTotalCurtidas());
System.out.println("Total de reproduções: "+getTotalreproducoes()) ;
System.out.println("-------------------------------------------------");
}
@Override
public int getClassificacao() {
if(this.getTotalreproducoes() > 2000){
return 10;
} else{
return 7;
}
}
}
package br.com.alura.organizaaudio;
public class Podcast extends Audio{
private String apresentador;
private String descricao;
public void setApresentador(String apresentador) {
this.apresentador = apresentador;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public int getClassificacao() {
if (this.getTotalCurtidas() > 500) {
return 10;
}else {
return 8;
}
}
@Override
public void exibirFichaAudio(){
System.out.println("Título do Podcast: " + getTitulo());
System.out.println("Apresentador: " + getApresentador());
System.out.println("descrição: "+ getDescricao());
System.out.println("Total de curtidas: "+ getTotalCurtidas());
System.out.println("Total de reproduções: "+ getTotalreproducoes()) ;
System.out.println("-------------------------------------------------");
}
}