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

[Projeto] Avaliação de filmes

Olá!

Segue minha resolução:

  • Classe filme:
package br.com.exercicios.alura;

import java.util.ArrayList;
import java.util.List;

public class Filme {

    private String titulo;
    private List<Integer> avaliacoes = new ArrayList<>();

    public Filme(String titulo) {
        this.titulo = titulo;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }


    public void adicionarAvaliacoes(int nota){
        while (nota > 5 && nota < 1){
            System.out.println("Nota inválida. Nota deve ser número entre 1 e 5");
        }
        avaliacoes.add(nota);
    }

    public double getMedia() {
        if (avaliacoes.isEmpty()) {
            return 0;
        }

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

        return (double) soma / avaliacoes.size();
    }
    
    public String getMediaFormatado(){
        return String.format("Média de avaliações para %s: %.2f", getTitulo(), getMedia());
    }

}
  • Main:
package br.com.exercicios.alura;

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

        Filme matrix = new Filme("Matrix");
        matrix.adicionarAvaliacoes(5);
        matrix.adicionarAvaliacoes(4);
        matrix.adicionarAvaliacoes(5);
        matrix.adicionarAvaliacoes(3);
        matrix.adicionarAvaliacoes(4);
        System.out.println(matrix.getMediaFormatado());

    }
}
1 resposta
solução!

Oi!

Parabéns por mais essa resolução! Você mandou muito bem ao estruturar sua classe utilizando uma List para as avaliações e ao criar métodos bem definidos para calcular e formatar a média. Esse é o caminho certo para um bom encapsulamento!
Sucesso

Imagem da comunidade