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

Projeto POO Filmes

public class Main {
    public static void main(String[] args) {
      Filme filme1 = new Filme("Minions 3", 2026, 120, true);
    
      filme1.fichaTec();
      filme1.avalia(7);
      filme1.avalia(9);
      filme1.avalia(5);
      
      System.out.println("Média de avaliações: " + filme1.pegaMedia());
    }
}
public class Filme {
  String nome;
  int anoLancam;
  int duracaoMin;
  boolean incluidoPlano;
  double somaAvaliac;
  int totalAvaliac;
  
  public Filme (String nome, int anoLancam, int duracaoMin, boolean incluidoPlano){
    this.nome = nome;
    this.anoLancam = anoLancam;
    this.duracaoMin = duracaoMin;
    this.incluidoPlano = incluidoPlano;
  }
  public void fichaTec() {
    System.out.println("Nome do filme: " + nome + "\nAno de lançamento: " + anoLancam + "\nDuração em minutos: " + duracaoMin + "\nIncluído no plano? " + incluidoPlano);
  }
  public void avalia(double nota) {
    somaAvaliac += nota;
    totalAvaliac++;
  }
  public double pegaMedia() {
        return somaAvaliac / totalAvaliac;
  }

}

adaptei algumas partes de acordo com o que eu estou aprendendo na faculdade

1 resposta
solução!

Oi! Como vai?

Gostei bastante de como você estruturou sua classe Filme, principalmente usando o construtor para inicializar os atributos e o controle das avaliações com somaAvaliac e totalAvaliac. Isso mostra que você já está pensando bem em encapsular comportamento dentro da classe.

Uma dica interessante para o futuro é utilizar um método para evitar divisão por zero ao calcular a média, garantindo mais segurança no código. Veja este exemplo:


public double pegaMedia() {
  if (totalAvaliac == 0) {
    return 0;
  }
  return somaAvaliac / totalAvaliac;
}

Esse código verifica se ainda não há avaliações antes de dividir, evitando erro e retornando 0 quando não houver notas.

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