Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Projeto] Avaliação de filmes

package br.com.plataforma;

import java.util.ArrayList;

public class Filme {
    private String titulo;
    private ArrayList<Integer> avaliacoes;

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

    public String getTitulo() {
        return titulo;
    }

    public ArrayList<Integer> getAvaliacoes() {
        return avaliacoes;
    }

    public void avaliar(int nota) {
        if (nota >=1 && nota <= 5) {
            avaliacoes.add(nota);
        } else {
            System.out.println("Nota inválida. Insira um valor de 1 a 5.");
        }
    }

    public double calcularMedia() {
        int somaNotas = 0;
        for (int nota : avaliacoes) {
            somaNotas += nota;
        }
        return (double) somaNotas / avaliacoes.size();
    }
}
package br.com.plataforma;

public class Principal {
    public static void main(String[] args) {
        Filme filme = new Filme("Howl's Moving Castle");
        filme.avaliar(5);
        filme.avaliar(5);
        filme.avaliar(3);
        filme.avaliar(4);
        filme.avaliar(3);

        Filme filme2 = new Filme("A Viagem de Chihiro");
        filme2.avaliar(5);
        filme2.avaliar(4);
        filme2.avaliar(5);

        System.out.printf("Total de avaliações: %d%n", filme.getAvaliacoes().size());
        System.out.printf("Média de avaliações para %s: %.2f%n", filme.getTitulo(), filme.calcularMedia());

        System.out.printf("%nTotal de avaliações: %d%n", filme2.getAvaliacoes().size());
        System.out.printf("Média de avaliações para %s: %.2f%n", filme2.getTitulo(), filme2.calcularMedia());
    }
}

Saída:

Total de avaliações: 5
Média de avaliações para Howl's Moving Castle: 4,00

Total de avaliações: 3
Média de avaliações para A Viagem de Chihiro: 4,67

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Aline! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de classes para estruturar os filmes, utilizou muito bem o ArrayList para armazenar as avaliações e ainda compreendeu a importância de validar os dados inseridos antes de adicioná-los.

Uma dica interessante para o futuro é tratar o caso em que não há avaliações, evitando divisão por zero ao calcular a média. Assim:

public double calcularMedia() {
    if (avaliacoes.isEmpty()) {
        System.out.println("Ainda não há avaliações para este filme.");
        return 0;
    }
    int somaNotas = 0;
    for (int nota : avaliacoes) {
        somaNotas += nota;
    }
    return (double) somaNotas / avaliacoes.size();
}

Isso faz com que o programa seja mais robusto, garantindo que não ocorra erro quando a lista de avaliações estiver vazia.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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