Olá Eleazar! Tudo certo?
Parece que você está no caminho certo, mas há alguns pequenos ajustes que podem ser feitos no seu código. Vamos dar uma olhada:
Correção de Sintaxe:
- No método
main
, a declaração está com um erro de sintaxe. A forma correta é public static void main(String[] args)
. - O método
System.out.println
no final da classe Principal
está faltando um ponto-e-vírgula no final.
Consistência de Nomes:
- Em Java, é uma boa prática seguir a convenção de nomenclatura camelCase para variáveis e métodos. Assim,
DuracaoEmMinutos
deve ser duracaoEmMinutos
e ExibaFichaTecnica
deve ser exibeFichaTecnica
.
Lógica do Método avalia
:
- No método
avalia
, o incremento somaDeAvalicoes++
parece ser um erro. Esse incremento deve ser aplicado a totalDeAvalicoes
para contar o número de avaliações, não à soma das avaliações.
Aqui está o código corrigido:
public class Filme {
String nome;
int anoDeLancamento;
int duracaoEmMinutos;
boolean incluidoNoPlano;
double somaDeAvalicoes;
int totalDeAvalicoes;
void exibeFichaTecnica() {
System.out.println("Nome do filme: " + nome);
System.out.println("Ano de lancamento do Filme: " + anoDeLancamento);
System.out.println("Duracao em minutos: " + duracaoEmMinutos);
System.out.println("Incluido no plano: " + incluidoNoPlano);
}
void avalia(double nota) {
somaDeAvalicoes += nota;
totalDeAvalicoes++;
}
double pegaMedia() {
return somaDeAvalicoes / totalDeAvalicoes;
}
}
public class Principal {
public static void main(String[] args) {
Filme favorito = new Filme();
favorito.nome = "Karate Kid";
favorito.anoDeLancamento = 2010;
favorito.duracaoEmMinutos = 140;
favorito.incluidoNoPlano = true;
favorito.exibeFichaTecnica();
favorito.avalia(9);
favorito.avalia(9);
favorito.avalia(9);
System.out.println("Media das avaliacoes do filme: " + favorito.pegaMedia());
}
}
Espero que essas dicas ajudem a corrigir os problemas e que você consiga prosseguir com o exercício e bons estudos!