1
resposta

Avaliação do filme

package Relatorio.AvaliaçãodeFilmes;

import java.util.ArrayList;

public class Filme {

    private String titulo;
    private ArrayList<Integer> avaliacoes;

    public String getTitulo() {
        return titulo;
    }

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

    public void addAvaliacao(int nota) {
        if (nota >= 1 && nota <= 5) {
            avaliacoes.add(nota);
        } else {
            System.out.println("Nota Inválida. Insira um valor entre 5 e 1. ");
        }
    }

    public double calculoNota() {
        int soma = 0;
        for (int nota : avaliacoes) {
            soma += nota;
        }
        return (double) soma / avaliacoes.size();
    }
}
package Relatorio.AvaliaçãodeFilmes;

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

        Filme filme = new Filme("Matrix");

        filme.addAvaliacao(5);
        filme.addAvaliacao(4);
        filme.addAvaliacao(5);
        filme.addAvaliacao(3);
        filme.addAvaliacao(4);

        System.out.printf("Média de avaliações do filme %s: %.2f\n", filme.getTitulo(), filme.calculoNota());
    }
}
1 resposta

Olá, Wanderson, como vai?

O seu código atende perfeitamente aos requisitos do exercício. Você aplicou corretamente o conceito de encapsulamento e utilizou a estrutura de repetição para percorrer a lista de avaliações, garantindo que o cálculo da média considere todos os valores inseridos. A validação das notas no método de adição também está correta, impedindo que valores fora do intervalo solicitado alterem o resultado final.

Parabéns pelo excelente desempenho na atividade e obrigado por compartilhar sua solução com a comunidade.

Continue praticando e postando sua evolução.

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