1
resposta

Projeto

public class Filme {

String nomeDoFilme;
int anoDeLancamento;
boolean incluidoNoPlano;
double somaDasAvaliacoes;
int totalDeAvaliacao;
int duracaoMinutos;

void exibeFichaTecnica () {
    System.out.println("Nome do filme " + nomeDoFilme);
    System.out.println("Ano de lançamento " + anoDeLancamento);
}

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

double pegaMedia() {
    return somaDasAvaliacoes / totalDeAvaliacao;
}

}

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

    Filme meuFilme = new Filme();
    meuFilme.nomeDoFilme = "O poderoso chefão";
    meuFilme.anoDeLancamento = 1970;
    meuFilme.duracaoMinutos = 180;

    meuFilme.exibeFichaTecnica();
    meuFilme.avalia(8);
    meuFilme.avalia(5);
    meuFilme.avalia(10);

    System.out.println(meuFilme.somaDasAvaliacoes);
    System.out.println(meuFilme.totalDeAvaliacao);
    System.out.println(meuFilme.pegaMedia());

}

}

1 resposta

Oi, Wanderson! Como vai?

Agradeço por compartilhar seu código.

O seu projeto tá bem organizado e demonstra que você aplicou corretamente a ideia de criar uma classe para representar um objeto, neste caso o Filme. Gostei da forma como você separou responsabilidades em métodos como exibeFichaTecnica(), avalia() e pegaMedia(), o que segue bem o conceito de orientação a objetos para organizar comportamentos dentro da classe.

Uma dica interessante para o futuro é utilizar o método Math.round() quando quiser arredondar valores, por exemplo ao mostrar a média das avaliações de forma mais amigável:



double media = somaDasAvaliacoes / totalDeAvaliacao;
long mediaArredondada = Math.round(media);
System.out.println(mediaArredondada);

Neste exemplo, Math.round() arredonda o valor da media para o número inteiro mais próximo, o que pode ser útil quando você quiser exibir resultados de forma mais simples para o usuário.

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