1
resposta

Desafio

3- Crie uma classe Musica com atributos titulo, artista, anoLancamento, avaliacao e numAvaliacoes, e métodos para exibir a ficha técnica, avaliar a música e calcular a média de avaliações.

import java.util.Scanner;

public class Musica {
String titulo;
String artista;
int anoDeLancamento;
int avaliacao = 0;
int numAvaliacao = 0;
double mediaAvaliacao = 0;

void exibirFichaTecnica() {
    System.out.println("Titulo da Musica: " + titulo);
    System.out.println("Artista: " + artista);
    System.out.println("Ano de Lancamento: " + anoDeLancamento);
}

void avaliarMusica() {
    System.out.println("Digite sua avaliacao de 1 a 5 : ");
    Scanner scanner = new Scanner(System.in);
    avaliacao += scanner.nextInt();
    numAvaliacao++;
}

double calcularMediaDeAvaliacoes() {
    mediaAvaliacao = avaliacao / numAvaliacao;
    return mediaAvaliacao;
}

}

1 resposta

Oi, Thiago! Como vai?

Agradeço por compartilhar.

Seu código está bem organizado e atende ao desafio ao criar os atributos da classe Musica, exibir a ficha técnica, registrar avaliações e calcular a média. Um ponto importante é que, no método calcularMediaDeAvaliacoes(), a divisão entre dois valores int pode gerar uma média sem casas decimais; para corrigir, você pode converter um dos valores para double, assim: mediaAvaliacao = (double) avaliacao / numAvaliacao;.

Dica: antes de calcular a média, verifique se já existe alguma avaliação registrada, evitando divisão por zero. Você pode fazer assim: if (numAvaliacao > 0) { return (double) avaliacao / numAvaliacao; }. Continue praticando, pois sua estrutura mostra que você está entendendo bem a criação de classes, atributos e métodos em Java.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!