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

Projeto Audio ALURA

MAIN

import br.com.songaudio.modelos.Musicas;
import br.com.songaudio.modelos.Podcast;

public class Main {
    public static void main(String[] args) {
        //Pode tirar o comentario (ctrl + barra)
//        Musicas letsgo = new Musicas();
//
//        letsgo.setTitulo("LET'S GO 4 - DJ GBR, IG, Ryan SP, PH, Davi, Luki, Don Juan, Kadu ,GH do 7, GP, TrapLaudo");
//        letsgo.valorGenero(1);
//        letsgo.setTotalDeReproducoes(300);
//        letsgo.valorGenero(1);
//        letsgo.GeneroFavorito("metal");
//        letsgo.exibeFichaTecnica();
//        System.out.println("\n-------------\n");
//        letsgo.pegaLike(false);
//        letsgo.recomendacaoVizualizacao();
//        System.out.println("\n-------------\n");
//        letsgo.pegaVideos();
//
//        System.out.println("\n-------------\n");


        Podcast bSinistra = new Podcast();

        bSinistra.setLikesNoPodcast(120);
        bSinistra.setTitulo("Rebobinando");
        bSinistra.setAutor("LUIDE MATOS");
        bSinistra.setLikesNoPodcast(200);
        bSinistra.setSeguindo(true);
        bSinistra.exibeFichaTecnica();
        System.out.println("------------");
        bSinistra.setNomeEpisodio("Porquê evitamos conversar (S08E02)");
        bSinistra.setMinutosEpisodio(25);
        bSinistra.exibeFichaTecnicaPodcast();
        bSinistra.setCurtido(false);
        System.out.println("------------");
        bSinistra.recomendacaoDePodcast();

    }
}

Audio

package br.com.songaudio.modelos;

public class Audio {
    private String titulo;
    private String duracao;
    private int totalDeReproducoes;
    private int curtidas;
    private int classificacao;
    private String genero;

    public String getTitulo() {
        return titulo;
    }

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

    public String getDuracao() {
        return duracao;
    }

    public void setDuracao(String duracao) {
        this.duracao = duracao;
    }

    public int getTotalDeReproducoes() {
        return totalDeReproducoes;
    }

    public void setTotalDeReproducoes(int totalDeReproducoes) {
        this.totalDeReproducoes = totalDeReproducoes;
    }

    public int getCurtidas() {
        return curtidas;
    }

    public void setCurtidas(int curtidas) {
        this.curtidas = curtidas;
    }

    public int getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(int classificacao) {
        this.classificacao = classificacao;
    }

    public String getGenero() {
        return genero;
    }

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

Podcast

package br.com.songaudio.modelos;

public class Podcast extends Audio {
    private int likesNoPodcast;
    private String autor;
    private boolean seguindo;
    private boolean curtido;
    private String nomeEpisodio;
    private int minutosEpisodio;

    public int getMinutosEpisodio() {
        return minutosEpisodio;
    }

    public void setMinutosEpisodio(int minutosEpisodio) {
        this.minutosEpisodio = minutosEpisodio;
    }

    public String getNomeEpisodio() {
        return nomeEpisodio;
    }

    public void setNomeEpisodio(String nomeEpisodio) {
        this.nomeEpisodio = nomeEpisodio;
    }

    public void exibeFichaTecnicaPodcast(){
        System.out.println(getNomeEpisodio());
        System.out.println(minutosEpisodio + " minutos");
    }

    public boolean setSeguindo(boolean valorBoolean) {
        valorBoolean = false;
        this.seguindo = valorBoolean;
        return valorBoolean;
    }

    public boolean setCurtido(boolean valorBooleanCurtido) {
        if(valorBooleanCurtido == true){
            this.likesNoPodcast++;
            System.out.println("CURTIDO - Este Podcast foi Curtido por você e mais " + this.likesNoPodcast + " pessoas");
        }
        else {
            System.out.println("CURTIR - Gostou do Episodio? Então Curta e se junte a mais " + this.likesNoPodcast + " pessoas que curtiram");
        }
        return valorBooleanCurtido;
    }

    public void exibeFichaTecnica(){
        System.out.println("Podcast");
        System.out.println(getTitulo());
        System.out.println("POR " + getAutor());
        if (!seguindo) {
            System.out.println("Seguindo");
        }
        else {
            System.out.println("SEGUIR");
        }
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public int getLikesNoPodcast() {
        return likesNoPodcast;
    }

    public void setLikesNoPodcast(int likesNoPodcast) {
        this.likesNoPodcast = likesNoPodcast;
    }

    public void recomendacaoDePodcast() {
        if (likesNoPodcast > 100) {
            System.out.println("Esse episodio ta IMPERDIVEL. Assista AGORA!");
        } else if (likesNoPodcast >= 70) {
            System.out.println("Não Perca todos estão Escutando!");
        } else {
            System.out.println("Eles são bons, venham assistir.");
        }
    }
}

Musicas

package br.com.songaudio.modelos;

public class Musicas extends Audio{
    private String classificacaoGenero;
    private boolean acionaRecomendacao;
    private String generoFavorito;



    public void exibeFichaTecnica() {
        System.out.println(this.getTitulo());
        System.out.println(this.getTotalDeReproducoes() + " Vizualizações");
    }

    public String valorGenero(int valorGenero){
        if (valorGenero == 1) {
           this.classificacaoGenero = "funk";
        }
        if (valorGenero == 2) {
            this.classificacaoGenero = "metal";
        }
        return this.classificacaoGenero;
    }

    public String GeneroFavorito(String generoFavorito) {
        if (generoFavorito == "metal") {
            this.generoFavorito = "metal";
        }
        return this.generoFavorito;
    }


    public boolean pegaLike(boolean valorBoolean) {
        this.acionaRecomendacao = valorBoolean;
        return valorBoolean;
    }

    public void pegaVideos(){
        while (acionaRecomendacao) {
            if (this.classificacaoGenero.equals("funk")) {
                System.out.println("Conto do Pescador - Mc Menor da VG");
                System.out.println("3 Dias Virado - MC IG");
                System.out.println("Pra Inveja é Tchau - Mc Kevin e Mc Davi");
                break;
            }
        }
        while(!acionaRecomendacao){
            if (this.classificacaoGenero.equals("funk") && this.generoFavorito.equals("metal") )  {
                System.out.println("MC Taya - Bitch Eu Sou Incrível (Clipe Oficial)");
                System.out.println("EBONY - Pensamentos Intrusivos (prod. AG Beatz) [Video Oficial]");
                System.out.println("MC Taya feat. KING Saints e Monna Brutal - Branca de Neve (Rap das Sinhás) [prod. Faustino Beats]");
                break;
            }
        }
    }

    public void recomendacaoVizualizacao(){
        while (acionaRecomendacao) {
            if (this.getTotalDeReproducoes() > 200 && classificacaoGenero.equals("funk")) {
                System.out.println("Vi que você esta curtindo um Funk, temos outros para te apresentar");
                break;
            }
        }
        while(!acionaRecomendacao){
            if (this.classificacaoGenero.equals("funk") && this.generoFavorito.equals("metal")) {
                System.out.println("Curte um metal, mas ta gostando dum funk também? Temos estas recomendações");
                break;
            }
        }
    }


}
solução!

Olá, Pedro. Tudo bem?

Obrigado por compartilhar seu código aqui com a gente.

Ótimo como você implementou o encapsulamento na classe Audio e trabalhou com os métodos de acesso get e set. Além disso, é interessante ver como você utiliza esses métodos no seu código principal para manipular os dados. Isso reflete uma boa aplicação da orientação a objetos.

Parabéns pela dedicação. Continue assim, praticando e evoluindo.

Conte com o apoio do Fórum. Abraços e bons estudos!