2
respostas

[Projeto] Projeto - Audio

Principal

import br.com.conteudo.MinhasPrediletas;
import br.com.conteudo.Musica;
import br.com.conteudo.Podcasts;

public class Principal {
    public static void main(String[] args){

        Musica umaMusica = new Musica();
        umaMusica.setArtista("BlackPink");
        umaMusica.setAlbum("2and Mini");
        umaMusica.setTitulo("Kill This Love");
        umaMusica.setGenero("POP");
        umaMusica.setDuracao(3.5);

        umaMusica.exibeFichaTecnica();

        for (int i = 0; i < 4000; i++){
            umaMusica.reproduzir();

        }
        for (int i = 0; i < 50; i++){
            umaMusica.curtidas();
         }
        
        Podcasts umPodcasts = new Podcasts();
        umPodcasts.setTitulo("NerdCast");
        umPodcasts.setHost("Alexandre \"Jovem Nerd\" Ottoni e Deive \"Azaghal\" Pazos");
        umPodcasts.setTema("Cinema e Séries");
        umPodcasts.setDuracao(60);
        umPodcasts.exibeFichaTecnica(); 
        
         for (int i = 0; i < 5000; i++){
             umPodcasts.reproduzir();
         }
         for (int i = 0; i < 1000; i++);{
             umPodcasts.curtidas();
        }

        MinhasPrediletas prediletas = new MinhasPrediletas();
        prediletas.inclui(umPodcasts);
        prediletas.inclui(umaMusica);
    }
}

Audio

package br.com.conteudo;

public abstract class Audio {

    public String titulo;
    public double duracao;
    private int totalReproducoes;
    private int totalCurtidas;
    private int classificacao;

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

    public double getDuracao() {
        return duracao;
    }

    public int getTotalReproducoes() {
        return totalReproducoes;
    }

    public int getClassificacao() {
        return classificacao;
    }

    public String getTitulo() {
        return titulo;
    }

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

    public int getTotalCurtidas() {
        return totalCurtidas;
    }

    public void setTotalCurtidas(int totalCurtidas) {
        this.totalCurtidas = totalCurtidas;
    }

    public int curtidas(){
        int i = this.totalCurtidas++;
        return this.totalCurtidas;
    }
    public int reproduzir() {
        this.totalReproducoes++;
        return this.totalReproducoes;
    }

    public void exibeFichaTecnica() {

        System.out.println("Nome da Musica: " + titulo);
    }
}

Música

package br.com.conteudo;

public class Musica extends Audio {
    private String artista;
    private String genero;
    private int anoLancamento;
    private String album;

    public String getArtista() {
        return artista;
    }

    public void setArtista(String artista) {
        this.artista = artista;
    }

    public String getGenero() {
        return genero;
    }

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

    public int getAnoLancamento(String number) {
        return anoLancamento;
    }

    public void setAnoLancamento(int anoLancamento) {
        this.anoLancamento = anoLancamento;
    }

    public String getAlbum() {
        return album;
    }

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

    @Override
    public void exibeFichaTecnica() {
        System.out.println("__________________________________________");
        System.out.println(" Nome do Artista: " + artista);
        System.out.println(" Álbum: " + album);
        System.out.println(" Gênero: " + genero);
        System.out.println(" Nome da Música " + titulo);
        System.out.println(" Tempo de duração: " + duracao);
        System.out.println("__________________________________________");
    }

    @Override
    public int getClassificacao() {
        if (this.getTotalReproducoes() > 2000) {
            return 10;
        } else {
            return 6;
        }
    }
}

Continua

2 respostas

Continuação

Podcasts

package br.com.conteudo;

public class Podcasts extends Audio {
    private String host;
    private String tema;

    public String getHost() {
        return host;
    }

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

    public String getTema() {
        return tema;
    }

    public void setTema(String tema) {
        this.tema = tema;
    }

    @Override
    public void exibeFichaTecnica() {
        System.out.println("__________________________________________");
        System.out.println(" Nome do Host: " + host);
        System.out.println(" Tempo de duração: " + duracao);
        System.out.println(" Tema do Podcast: " + tema);
        System.out.println("__________________________________________");
    }

    @Override
    public int getClassificacao() {
        if(this.getTotalCurtidas() > 500){
            return 10;
        }else {
            return 8;
        }
    }
}

MinhasPrediletas

package br.com.conteudo;

public class MinhasPrediletas {

    public void inclui(Audio audio){
        if(audio.getClassificacao() >=8){
            System.out.println(audio.getTitulo() + " é considerado um sucesso!");
            } else {
                System.out.println(audio.getTitulo() + " também é muito bom." + " Provalmente você vai curtir");
        }
    }
}

Olá, Manoela, como vai?

Analisando o seu código, notei um problema na sua lógica na linha abaixo no main:

for (int i = 0; i < 1000; i++);{
    umPodcasts.curtidas();
}

O ponto é o ponto e vírgula (;) após o for. Isso faz com que o laço não execute corretamente, e o método curtidas() seja chamado apenas uma vez após o for. O correto séria remover esse ponto e vírgula para que o laço funcione como esperado:

for (int i = 0; i < 1000; i++) {
    umPodcasts.curtidas();
}

O fórum está à disposição caso você tenha dúvidas.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.