0
respostas

[Projeto] Encapsulamento do ScreenMatch

Compartilhando como realizei o encapsulamento do ScreenMatch:

import java.util.Scanner;

public class Principal {
    public static void main(String[] args) {
        Scanner entradaUsuario = new Scanner(System.in);
        Filme meuFilme = new Filme();
        meuFilme.setNomeDoFilme("...E o Vento Levou.");
        meuFilme.setAnoDeLancamento(1939);
        meuFilme.setDuracaoEmMinutos(238);
        meuFilme.setIncluidoNoPlano(true);

        meuFilme.exibirFichaTecnica();

        System.out.print("Digite quantas notas você vai dar ao filme: ");
        int totalDeAvaliacoes = entradaUsuario.nextInt();
        int totalDeNotas = 0;
        while(totalDeAvaliacoes > totalDeNotas) {
            System.out.print("Digite a nota do Filme:");
            double notaDoFilme = entradaUsuario.nextDouble();
            meuFilme.avaliaFilme(notaDoFilme);
            totalDeNotas ++;
        }

        System.out.println("O Filme teve o total de " + meuFilme.getTotalDeAvaliacoes() + " avaliações.");
        System.out.println("A Média das avaliações é: " + meuFilme.pegaMedia());
    }
}
public class Filme {
    private String nomeDoFilme;
    private int anoDeLancamento;
    private int duracaoEmMinutos;
    private int totalDeAvaliacoes;
    private boolean incluidoNoPlano;
    private double somaDasAvaliacoes;

    public String getNomeDoFilme() {
        return nomeDoFilme;
    }

    public int getAnoDeLancamento() {
        return anoDeLancamento;
    }

    public int getDuracaoEmMinutos() {
        return duracaoEmMinutos;
    }

    public boolean isIncluidoNoPlano() {
        return incluidoNoPlano;
    }

    public int getTotalDeAvaliacoes() {
        return totalDeAvaliacoes;
    }

    public void setNomeDoFilme(String nomeDoFilme) {
        this.nomeDoFilme = nomeDoFilme;
    }

    public void setAnoDeLancamento(int anoDeLancamento) {
        this.anoDeLancamento = anoDeLancamento;
    }

    public void setDuracaoEmMinutos(int duracaoEmMinutos) {
        this.duracaoEmMinutos = duracaoEmMinutos;
    }

    public void setTotalDeAvaliacoes(int totalDeAvaliacoes) {
        this.totalDeAvaliacoes = totalDeAvaliacoes;
    }

    public void setIncluidoNoPlano(boolean incluidoNoPlano) {
        this.incluidoNoPlano = incluidoNoPlano;
    }

    public void exibirFichaTecnica() {
        System.out.println("****************************************");
        System.out.println("*      FICHA TÉCNICA DO FILME          *");
        System.out.println("****************************************");
        System.out.println("* Nome do Filme: " + nomeDoFilme + "   *");
        System.out.println("* Ano do Filme: " + anoDeLancamento + "                   *");
        System.out.println("* Duracao do Filme: " + duracaoEmMinutos + "                *");
        System.out.println("* Filme incluso no plano: " + incluidoNoPlano +"         *");
        System.out.println("****************************************");
    }

    public void avaliaFilme(double notaDoFilme) {
        somaDasAvaliacoes += notaDoFilme;
        totalDeAvaliacoes ++;
    }

   public double pegaMedia () {
        return somaDasAvaliacoes / totalDeAvaliacoes;
    }
}