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

Projeto final do curso

package br.com.alura.princiapal;
import br.com.alura.organizaaudio.ClassificacaoDosAudios;
import br.com.alura.organizaaudio.Musica;
import br.com.alura.organizaaudio.Podcast;


public class Principal {
    public static void main(String[] args) {
        Musica minhaMusica = new Musica();
        minhaMusica.setTitulo("Astronauta de Marmore");
        minhaMusica.setArtista("Nenhum de Nós");
        minhaMusica.setGenero("Pop Rock");


        for (int i = 0; i < 1000; i++) {

            minhaMusica.reproduz();
        }
        for (int i = 0; i < 500; i++) {
            minhaMusica.curte();
        }

        Podcast meuPodcast = new Podcast();
        meuPodcast.setTitulo("Inteligência Limitada");
        meuPodcast.setApresentador("Vilela");
        

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

            meuPodcast.curte();
        }
        minhaMusica.exibirFichaAudio();
        meuPodcast.exibirFichaAudio();

        ClassificacaoDosAudios novaClassificacao = new ClassificacaoDosAudios();
        novaClassificacao.inclui(minhaMusica);
        novaClassificacao.inclui(meuPodcast);
    }
}
package br.com.alura.organizaaudio;

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("-------------------------------------------------");

    }
}
package br.com.alura.organizaaudio;


public class ClassificacaoDosAudios {

    public void inclui(Audio audio){
        if(audio.getClassificacao()>=9){
            System.out.println(audio.getTitulo() + " É um grande sucesso, tem uma ótima avaliação no rank das avaliações! ");
        } else  {
            System.out.println(audio.getTitulo() + " Tem uma boa avaliação no rank das avaliações!");
        }
    }
}

Print da compilaçãodo código

1 resposta
solução!

Olá, Terezinha! Tudo certo?

Pelo que vi no seu código e na saída gerada, tudo está funcionando bem, mas há um pequeno detalhe que pode ser melhorado: a exibição da descrição do podcast está aparecendo como null. Isso acontece porque você não definiu um valor para a descrição do podcast antes de chamar o método exibirFichaAudio().

Para resolver isso, você pode adicionar a descrição ao seu podcast logo após definir o apresentador. Aqui está como você pode fazer isso:

meuPodcast.setDescricao("Um podcast sobre temas variados com convidados especiais.");

Adicione essa linha no seu método main, logo após meuPodcast.setApresentador("Vilela");. Assim, a descrição será exibida corretamente.

Bons estudos!