1
resposta

[Musica] Java: Orientação a Objetos

Class:

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

    void avaliar(double avaliacao, double avaliacao2, double avaliacao3) {
        totalAvaliacao = avaliacao + avaliacao2 + avaliacao3;
    }

    void tirarMedia() {
        mediaAvaliacao = totalAvaliacao / numAvaliacao;
    }

    void fichaTecnica(){
        System.out.println("Titulo: " + titulo);
        System.out.println("Artista: " + artista);
        System.out.println("Ano de lancamento: " + anoDeLancamento);
        System.out.println("Média avaliação: " + mediaAvaliacao);
    }
}

Main:

void main() {
    Musica musica1 = new Musica();

    musica1.titulo = "Se...";
    musica1.artista = "Djavan";
    musica1.anoDeLancamento = 1992;

    musica1.avaliar(9.6, 7.8, 10);
    musica1.tirarMedia();
    musica1.fichaTecnica();
    
}
1 resposta

Oi, Nicolas! Como vai?

Agradeço por compartilhar.

Gostei de como você estruturou a classe Musica, separando bem os atributos e métodos como avaliar, tirarMedia e fichaTecnica. Isso mostra um bom entendimento de encapsulamento e organização de responsabilidades dentro da classe.

Você pode utilizar um método que receba várias avaliações usando array, deixando o código mais flexível:


double calcularMedia(double[] notas) {
    double soma = 0;
    for (int i = 0; i < notas.length; i++) {
        soma += notas[i];
    }
    return soma / notas.length;
}

Esse código percorre uma lista de notas, soma todos os valores e retorna a média automaticamente, sem limitar a quantidade de avaliações.

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