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

Desafio 3 (Classe Música): hora da prática

public class Music {
    String tituloDaMusica;
    String artista;
    int anoDeLancamentoDaMusica;
    double somaDasAvaliacoesDaMusica;
    int quantidadeDeAvaliacoesDaMusica;

    void exibeFichaTecnicaMusica(){
        System.out.println("Título da música: " + tituloDaMusica);
        System.out.println("Artista: " + artista);
        System.out.println("Ano de lançamento: " + anoDeLancamentoDaMusica);
    }

    double registraAvaliacoesDaMusica(double nota){
        somaDasAvaliacoesDaMusica += nota;
        quantidadeDeAvaliacoesDaMusica++;
        return somaDasAvaliacoesDaMusica;
    }

    double calculaAMediaDasAvaliacoes(){
        return somaDasAvaliacoesDaMusica / quantidadeDeAvaliacoesDaMusica;
    }
}
public class Main {
    public static void main(String[] args) {
        Music music = new Music();
        music.tituloDaMusica = "Don't stop now!";
        music.artista = "Queen";
        music.anoDeLancamentoDaMusica = 1979;

        music.exibeFichaTecnicaMusica();

        music.registraAvaliacoesDaMusica(8);
        music.registraAvaliacoesDaMusica(9);
        music.registraAvaliacoesDaMusica(10);

        System.out.println("A média das avalições da música é: " + music.calculaAMediaDasAvaliacoes());
    }
}
1 resposta
solução!

Olá, Sara!

Seu código para a classe Music está bem estruturado e funcional. Você está utilizando conceitos de Orientação a Objetos de forma eficaz, como encapsulamento e métodos para manipulação de dados. Vamos dar uma olhada no que você fez:

  1. Definição da Classe e Atributos: Você definiu a classe Music com atributos para armazenar informações sobre a música, como título, artista, ano de lançamento, soma das avaliações e quantidade de avaliações. Isso está correto e é uma boa prática.

  2. Método exibeFichaTecnicaMusica: Este método imprime as informações básicas da música. Está funcionando conforme o esperado e é uma boa maneira de encapsular a lógica de exibição.

  3. Método registraAvaliacoesDaMusica: Este método adiciona uma nova avaliação à soma total e incrementa a quantidade de avaliações. Está funcionando bem para registrar as avaliações.

  4. Método calculaAMediaDasAvaliacoes: Calcula a média das avaliações dividindo a soma das avaliações pela quantidade de avaliações. Está correto, mas você deve garantir que a quantidade de avaliações seja maior que zero para evitar divisão por zero. Você pode adicionar uma verificação simples, como:

    double calculaAMediaDasAvaliacoes(){
        if (quantidadeDeAvaliacoesDaMusica == 0) {
            return 0; // ou um valor que faça sentido no seu contexto
        }
        return somaDasAvaliacoesDaMusica / quantidadeDeAvaliacoesDaMusica;
    }
    
  5. Classe Main: Você criou uma instância da classe Music e utilizou seus métodos para definir informações, registrar avaliações e calcular a média. Tudo parece estar funcionando corretamente.

Parabéns! Bons estudos!