1
resposta

[Projeto] AvaliacaoDeFilmes

import java.util.ArrayList;

public class Filme {


    String titulo;
    ArrayList<Integer> avaliacoes;

    public Filme(String titulo) {
        this.titulo = titulo;
        this.avaliacoes = new ArrayList<>();
    }

    public String getTitulo() {
        return titulo;
    }

    public void adicionarAvaliacao(int nota){
        if(nota >=1 && nota <=5){
            avaliacoes.add(nota);
        }
    }

    public double mediaDeAvaliacoes(){
        int soma = 0;

        for (int nota : avaliacoes){
            soma+= nota;
        }

        return (double) soma / avaliacoes.size();
    }

    public static void main(String[] args) {
        Filme matrix = new Filme("Matrix");
        matrix.adicionarAvaliacao(5);
        matrix.adicionarAvaliacao(4);
        matrix.adicionarAvaliacao(5);
        matrix.adicionarAvaliacao(3);
        matrix.adicionarAvaliacao(4);

        System.out.printf("Média de avaliações para %s: %.2f", matrix.getTitulo(), matrix.mediaDeAvaliacoes());
    }
}
1 resposta

Olá, João, como vai?

O seu código soluciona o desafio de maneira muito eficiente, utilizando corretamente a estrutura de lista para armazenar as notas e aplicando a lógica de filtragem para aceitar apenas valores entre 1 e 5. A realização do casting para double no momento da divisão foi uma decisão técnica correta para garantir que o resultado da média preserve as casas decimais necessárias para a precisão do sistema.

Parabéns por aplicar esses conceitos de forma tão clara e por compartilhar sua resolução no fórum, continue mantendo esse ótimo ritmo em seus estudos de Java.

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