1
resposta

Projeto: Orientação a Objetos em Java

Código da Classe Filme

public class Filme {
    String nome;
    int anoDeLancamento;
    int duracaoEmMinutos;
    boolean incluidoNoPlano;
    double somaDasAvaliacoes;
    int totalDeAvaliacao;


    void exibeFichaTecnica(){
        System.out.println("Nome do Filme: " + nome);
        System.out.println("Ano de Lançamento: " + anoDeLancamento);
        System.out.println("Duração do FIlme:" + duracaoEmMinutos);
        System.out.println("Filme incluso no Plano: " + incluidoNoPlano);
    }

    void avalia(double nota){
        somaDasAvaliacoes += nota;
        totalDeAvaliacao++;
    }

    double pegaMedia(){
        return somaDasAvaliacoes/totalDeAvaliacao;
    }
}
public class Filme {
    String nome;
    int anoDeLancamento;
    int duracaoEmMinutos;
    boolean incluidoNoPlano;
    double somaDasAvaliacoes;
    int totalDeAvaliacao;


    void exibeFichaTecnica(){
        System.out.println("Nome do Filme: " + nome);
        System.out.println("Ano de Lançamento: " + anoDeLancamento);
        System.out.println("Duração do FIlme:" + duracaoEmMinutos);
        System.out.println("Filme incluso no Plano: " + incluidoNoPlano);
    }

    void avalia(double nota){
        somaDasAvaliacoes += nota;
        totalDeAvaliacao++;
    }

    double pegaMedia(){
        return somaDasAvaliacoes/totalDeAvaliacao;
    }
}

Código da Classe Principal

public class Principal {
    public static void main(String[] args) {
        Filme meuFilme = new Filme();
        meuFilme.nome = "Rambo - Programado para Matar";
        meuFilme.anoDeLancamento = 1982;
        meuFilme.duracaoEmMinutos = 93;
        meuFilme.incluidoNoPlano = true;

        meuFilme.exibeFichaTecnica();

        meuFilme.avalia(7);
        meuFilme.avalia(9);
        meuFilme.avalia(5);
        meuFilme.avalia(9);

        System.out.println("Media de Avaliaçoes do Filme:" +meuFilme.pegaMedia());
    }
}
1 resposta

Olá, Kauã. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

O que você fez no seu código é uma boa implementação de uma classe Filme com a funcionalidade de exibir as informações do filme e calcular a média das avaliações. Isso é uma aplicação simples e direta de orientação a objetos, o que facilita a organização e reutilização do código.

Uma dica interessante para o futuro é a utilização de um método construtor para inicializar os valores da classe, evitando a necessidade de atribuir valores diretamente aos atributos, como você fez no main. Veja como fica com o uso de um construtor:

 public class Filme { String nome; int anoDeLancamento; int duracaoEmMinutos; boolean incluidoNoPlano; double somaDasAvaliacoes; int totalDeAvaliacao; // Construtor public Filme(String nome, int anoDeLancamento, int duracaoEmMinutos, boolean incluidoNoPlano) { this.nome = nome; this.anoDeLancamento = anoDeLancamento; this.duracaoEmMinutos = duracaoEmMinutos; this.incluidoNoPlano = incluidoNoPlano; } void exibeFichaTecnica() { System.out.println("Nome do Filme: " + nome); System.out.println("Ano de Lançamento: " + anoDeLancamento); System.out.println("Duração do Filme:" + duracaoEmMinutos); System.out.println("Filme incluso no Plano: " + incluidoNoPlano); } void avalia(double nota) { somaDasAvaliacoes += nota; totalDeAvaliacao++; } double pegaMedia() { return somaDasAvaliacoes / totalDeAvaliacao; } } 

Com isso, você pode criar um filme diretamente no main assim:

 Filme meuFilme = new Filme("Rambo - Programado para Matar", 1982, 93, true); 

Isso torna o código mais organizado e flexível.

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