Esse foi o resultado que cheguei:
public class buildMovie {
public static void main(String[] args) {
Movie newMovie = new Movie();
newMovie.movieTitle = "The Chosen";
newMovie.releaseYear = 2024;
newMovie.season = 4;
newMovie.chapters = 1;
newMovie.durationInMinutes = 120;
newMovie.includedInThePlan = false;
newMovie.evaluateMovie(9);
newMovie.evaluateMovie(10);
newMovie.evaluateMovie(9.9);
newMovie.displayDatasheet();
}
}
public class Movie {
String movieTitle;
int releaseYear;
int season;
int chapters;
int durationInMinutes;
boolean includedInThePlan;
double sumOfReviews;
int totalRatings;
String systemMessage;
void displayDatasheet () {
systemMessage = """
Título: %s
Ano de Lançamento: %s
Temporada: %s
Capítulo: %s
Duração: %s
Total de Avaliações: %s
Avaliação: %s
Incluso no Plano: %s
""".formatted(movieTitle, releaseYear, season, chapters ,convertDurationToHours(), totalRatings, ratingAverage(), movieIncludedInThePlan());
System.out.println(systemMessage);
}
String movieIncludedInThePlan () {
if (includedInThePlan) {
return systemMessage = "Este filme está incluso em seu plano";
} else {
return systemMessage = "Este filme NÃO está incluso em seu plano";
}
}
String convertDurationToHours() {
int hours = durationInMinutes / 60;
int remainingMinutes = durationInMinutes % 60;
return String.format("%d:%02d", hours, remainingMinutes);
}
void evaluateMovie (double rating) {
sumOfReviews += rating;
totalRatings++;
}
String ratingAverage() {
if (totalRatings > 0) {
return String.format("%.1f\n", sumOfReviews / totalRatings).replace("\n", "");
} else {
return "0.0";
}
}
}