Movie :
public class Movie {
private String name;
private List<Integer> rating = new ArrayList<>();
private double ratingAverage = 0;
public Movie(String name) {
this.name = name;
}
@Override
public String toString() {
return "Average Rating for "+this.name+ ": "+ratingAverage;
}
public void rateMovie(int score){
rating.add(score);
calculateAvgRating();
}
private void calculateAvgRating(){
double ratingSum = this.rating.stream()
.reduce(0, Integer::sum);
int totalRatings = this.rating.size();
this.ratingAverage = ratingSum/totalRatings;
}
public String getName() {
return name;
}
public List<Integer> getRating() {
return rating;
}
public double getRatingAverage() {
return ratingAverage;
}
}
Main :
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the movie name : ");
String movieName = scanner.nextLine();
Movie movie = new Movie(movieName);
movie.rateMovie(5);
movie.rateMovie(3);
movie.rateMovie(2);
movie.rateMovie(4);
movie.rateMovie(3);
movie.rateMovie(1);
movie.rateMovie(3);
System.out.println(movie);
}