Step Two :Java Programming: Build a Recommendation System (Java Programming and Software Engineering Fundamentals Specialization) Answers 2025
1. Correct way to call loadMovies inside SecondRatings constructor
✔️
FirstRatings fr = new FirstRatings();
myMovies = fr.loadMovies("data/" + moviefile);
❌ myMovies = loadMovies(…)
❌ myMovies.fr.loadMovies(…)
❌ myMovies.loadMovies(…)
❌ loadMovies without fr object
2. Correct way to print number of movies and raters
✔️
SecondRatings runner = new SecondRatings(moviefile, ratingsfile);
System.out.println("read data for " + runner.getRaterSize() + " raters");
System.out.println("read data for " + runner.getMovieSize() + " movies");
❌ getRaterSize() without runner
❌ accessing private fields directly
3. Average rating of “No Country for Old Men”
Ratings for ID 0477348: 8, 10
Average = (8 + 10) / 2 = 9.0
✔️ 9.0
4. Average rating of “Inside Llewyn Davis”
Ratings for ID 2042568: 8, 6, 7
Average = (8 + 6 + 7) / 3 = 7.0
✔️ 7.0
5. Rating of “The Maze Runner” (full dataset)
✔️ 7.2000
6. Rating of “Moneyball”
✔️ 7.5667
7. Rating of “Vacation”
✔️ 5.2500
**8. Number of movies with 50 or more ratings
✔️ 67
9. Lowest-rated movie (≥ 20 ratings)
✔️ The Interview
❌ Riddick
❌ White House Down
❌ Elysium
❌ The Purge
10. Lowest-rated movie (≥ 12 ratings)
✔️ Spring Breakers
❌ Hangover III
❌ Mama
❌ Identity Thief
❌ The Purge
📌 Summary Table
| Q# | Final Answer |
|---|---|
| 1 | Use fr.loadMovies() with new FirstRatings |
| 2 | Use runner.getRaterSize() & runner.getMovieSize() |
| 3 | 9.0 |
| 4 | 7.0 |
| 5 | 7.2000 |
| 6 | 7.5667 |
| 7 | 5.2500 |
| 8 | 67 |
| 9 | The Interview |
| 10 | Spring Breakers |