From 4397317effb862e85a23aed5dff6a9a379a3a81b Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 16 Mar 2023 15:28:02 +0330 Subject: [PATCH] This is my Fourth Assignment. --- src/main/Fourth Assignment Report.pdf | Bin 0 -> 93384 bytes src/main/UML.drawio.pdf | Bin 0 -> 28679 bytes src/main/java/org/example/Main.java | 148 +++++++++++++++++- src/main/java/org/example/Movie.java | 17 +- src/main/java/org/example/NetflixService.java | 77 ++++++--- src/main/java/org/example/TVShow.java | 60 ++++++- src/main/java/org/example/User.java | 89 ++++++++--- 7 files changed, 329 insertions(+), 62 deletions(-) create mode 100644 src/main/Fourth Assignment Report.pdf create mode 100644 src/main/UML.drawio.pdf diff --git a/src/main/Fourth Assignment Report.pdf b/src/main/Fourth Assignment Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6a24c1e5ee57cf8c9ff39f0da88b7727c2a7a745 GIT binary patch literal 93384 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%0AVn3Y%FA>RUH->uNn_c3j@}iaX?+|Fxpa1qkW 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 literal 0 HcmV?d00001 diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 0718b5a..7790e78 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -1,14 +1,150 @@ package org.example; - +import java.util.ArrayList; +import java.util.Scanner; public class Main { - //don't limit yourself to our template *** + public static void main(String[] args) { + NetflixService netflix = new NetflixService(); + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.println("1. Add TV Show"); + System.out.println("2. Add Movie"); + System.out.println("3. Create Account"); + System.out.println("4. Login"); + System.out.println("5. Logout"); + System.out.println("6. Search TV Shows by Title"); + System.out.println("7. Search TV Shows by Genre"); + System.out.println("8. Search TV Shows by Release Year"); + System.out.println("9. Exit"); - public static void main(String[] args) { + System.out.print("Enter choice: "); + int choice = scanner.nextInt(); + switch (choice) { + case 1: + System.out.print("Enter TV show title: "); + String tvShowTitle = scanner.next(); + System.out.print("Enter TV show genre: "); + String tvShowGenre = scanner.next(); + System.out.print("Enter TV show release year: "); + int tvShowReleaseYear = scanner.nextInt(); + System.out.print("Enter TV show number of episodes: "); + int tvShowNumEpisodes = scanner.nextInt(); + TVShow tvShow = new TVShow(tvShowTitle, tvShowGenre, tvShowReleaseYear, tvShowNumEpisodes); + netflix.addTVShow(tvShow); + System.out.println("TV show added successfully."); + break; + case 2: + System.out.print("Enter movie title: "); + String movieTitle = scanner.next(); + System.out.print("Enter movie genre: "); + String movieGenre = scanner.next(); + System.out.print("Enter movie release year: "); + int movieReleaseYear = scanner.nextInt(); + System.out.print("Enter movie number of episodes: "); + int movieNumEpisodes = scanner.nextInt(); + System.out.print("Enter movie duration: "); + int movieDuration = scanner.nextInt(); + Movie movie = new Movie(movieTitle, movieGenre, movieReleaseYear, movieNumEpisodes, movieDuration); + netflix.addMovie(movie); + System.out.println("Movie added successfully."); + break; + case 3: + System.out.print("Enter username: "); + String username = scanner.next(); + System.out.print("Enter password: "); + String password = scanner.next(); + netflix.createAccount(username, password); + System.out.println("Account created successfully."); + break; + case 4: + System.out.print("Enter username: "); + String loginUsername = scanner.next(); + System.out.print("Enter password: "); + String loginPassword = scanner.next(); + boolean loginSuccess = netflix.login(loginUsername, loginPassword); + if (loginSuccess) { + System.out.println("Login successful."); + } else { + System.out.println("Login failed."); + } + break; + case 5: + netflix.logout(); + System.out.println("Logout successful."); + break; + case 6: + System.out.print("Enter TV show title: "); + String searchTitle = scanner.next(); + ArrayList searchTitleResults = netflix.searchByTitle(searchTitle); + for (TVShow result : searchTitleResults) { + System.out.println(result.getTitle() + " (" + result.getReleaseYear() + ")"); + } + break; + } + } } - public static void runMenu(){ - //TODO: + + public static void runMenu () { + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.println(); + System.out.println("Main Menu"); + System.out.println("1. Login"); + System.out.println("2. Create Account"); + System.out.println("3. Search TV Shows by Title"); + System.out.println("4. Search TV Shows by Genre"); + System.out.println("5. Search TV Shows by Release Year"); + System.out.println("6. View Favorites"); + System.out.println("7. Get Recommendations"); + System.out.println("8. Logout"); + System.out.println("9. Quit"); + + System.out.print("Enter a choice: "); + int choice = scanner.nextInt(); + + switch (choice) { + case 1: + System.out.print("Enter username: "); + String username = scanner.next(); + System.out.print("Enter password: "); + String password = scanner.next(); + if (NetflixService.login(username, password)) { + User currentUser = NetflixService.getCurrentUser(); + System.out.println("Login successful"); + } else { + System.out.println("Invalid username or password"); + } + break; + case 2: + System.out.print("Enter username: "); + String newUsername = scanner.next(); + System.out.print("Enter password: "); + String newPassword = scanner.next(); + NetflixService.createAccount(newUsername, newPassword); + System.out.println("Account created successfully"); + break; + case 3: + System.out.print("Enter a title: "); + String title = scanner.next(); + ArrayList resultsByTitle = NetflixService.searchByTitle(title); + System.out.println("Results:"); + for (TVShow tvShow : resultsByTitle) { + System.out.println(tvShow.getTitle() + " (" + tvShow.getReleaseYear() + ")"); + } + break; + case 4: + System.out.print("Enter a genre: "); + String genre = scanner.next(); + ArrayList resultsByGenre = NetflixService.searchByGenre(genre); + System.out.println("Results:"); + for (TVShow tvShow : resultsByGenre) { + System.out.println(tvShow.getTitle() + " (" + tvShow.getReleaseYear() + ")"); + } + break; + + } + } } -} +} \ No newline at end of file diff --git a/src/main/java/org/example/Movie.java b/src/main/java/org/example/Movie.java index 081ba70..ba16622 100644 --- a/src/main/java/org/example/Movie.java +++ b/src/main/java/org/example/Movie.java @@ -1,13 +1,14 @@ package org.example; -import java.util.ArrayList; - class Movie extends TVShow { - /* - *Movie is extended from TVShow and has extra attribute length. - */ - public Movie() - { - super(); + private int duration; + + public Movie(String title, String genre, int releaseYear, int numEpisodes, int duration) { + super(title, genre, releaseYear, numEpisodes); + this.duration = duration; + } + + public int getDuration() { + return duration; } } diff --git a/src/main/java/org/example/NetflixService.java b/src/main/java/org/example/NetflixService.java index 5345a3e..5d0df26 100644 --- a/src/main/java/org/example/NetflixService.java +++ b/src/main/java/org/example/NetflixService.java @@ -1,49 +1,84 @@ package org.example; - import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; class NetflixService { - /* - *The NetflixService should have an Arraylist of users, tv shows and movies. - *The NetflixService should have a User object which represents current user. - */ + private List movies; + private static List tvShows; + private static List users; + private static User currentUser; + + public NetflixService() { + movies = new ArrayList<>(); + tvShows = new ArrayList<>(); + users = new ArrayList<>(); + currentUser = null; + } public void addTVShow(TVShow tvShow){ - // Implement add tv show logic here + Movie movie = null; + movies.add(movie); } public void addMovie(Movie movie){ - // Implement add movie logic here + TVShow tvShow = null; + tvShows.add(tvShow); } - public void createAccount(String username, String password) { - // Implement create account logic here + public static void createAccount(String username, String password) { + User user = new User(username, password); + users.add(user); } - public boolean login(String username, String password) { - // Implement login logic here + public static boolean login(String username, String password) { + for (User user : users) { + if (user.getUsername().equals(username) && user.getPassword().equals(password)) { + currentUser = user; + return true; + } + } return false; } public void logout() { - // Implement logout logic here + currentUser = null; } - public ArrayList searchByTitle(String title) { - // Implement search by title logic here - return null; + public static ArrayList searchByTitle(String title) { + List results = new ArrayList<>(); + for (TVShow tvShow : tvShows) { + if (tvShow.getTitle().toLowerCase().contains(title.toLowerCase())) { + results.add(tvShow); + } + } + return (ArrayList) results; } - public ArrayList searchByGenre(String genre) { - // Implement search by genre logic here - return null; + public static ArrayList searchByGenre(String genre) { + List results = new ArrayList<>(); + for (TVShow tvShow : tvShows) { + if (tvShow.getGenre().toLowerCase().equals(genre.toLowerCase())) { + results.add(tvShow); + } + } + return (ArrayList) results; } + public ArrayList searchByReleaseYear(int year) { - // Implement search by release year logic here - return null; - } + List results = new ArrayList<>(); + for (TVShow tvShow : tvShows) { + if (tvShow.getReleaseYear() == year) { + results.add(tvShow); + } + } + return (ArrayList) results; + } + public static User getCurrentUser() { + return currentUser; + } } diff --git a/src/main/java/org/example/TVShow.java b/src/main/java/org/example/TVShow.java index 005c218..7b57c2e 100644 --- a/src/main/java/org/example/TVShow.java +++ b/src/main/java/org/example/TVShow.java @@ -1,11 +1,61 @@ package org.example; +import java.nio.charset.Charset; import java.util.ArrayList; - +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; +import java.util.List; class TVShow { - /* - *The TVShow should have a title , genre, release year, duration and a rating. - *The TVShow should have an ArrayList of the cast. - */ + private String title; + private String genre; + private int releaseYear; + private int numEpisodes; + private Collection similarTVShows; + private Movie[] movies; + + public TVShow(String title, String genre, int releaseYear, int numEpisodes) { + this.title = title; + this.genre = genre; + this.releaseYear = releaseYear; + this.numEpisodes = numEpisodes; + } + + public String getTitle() { + return title; + } + + public String getGenre() { + return genre; + } + + public int getReleaseYear() { + return releaseYear; + } + + public int getNumEpisodes() { + return numEpisodes; + } + + public void setSimilarTVShows(Collection similarTVShows) { + this.similarTVShows = similarTVShows; + } + + + public List getGenres() { + Set genres = new HashSet<>(); + Iterable tvShows = null; + for (TVShow tvShow : tvShows) { + genres.add(tvShow.getGenre()); + } + for (Movie movie : movies) { + genres.add(movie.getGenre()); + } + return new ArrayList<>(genres); + } + + public Collection getSimilarTVShows() { + return similarTVShows; + } } diff --git a/src/main/java/org/example/User.java b/src/main/java/org/example/User.java index 538e12b..e861dae 100644 --- a/src/main/java/org/example/User.java +++ b/src/main/java/org/example/User.java @@ -1,36 +1,81 @@ package org.example; - import java.util.ArrayList; +import java.util.List; class User { - /* - * The user should contain username password. - * The user should contain an ArrayList of favorite shows and watch history. - * FUNCTION: the user should have a function to watch a show and add it to watch history. - * *** NOTE: All search functions in user are for searching in favorite shows *** - */ + private String username; + private String password; + private List favoriteTVShows; + private List watchedTVShows; + public User(String username, String password) { + this.username = username; + this.password = password; + this.favoriteTVShows = new ArrayList<>(); + this.watchedTVShows = new ArrayList<>(); + } - public ArrayList searchByTitle(String title) { - // Implement search by title in favorite shows logic here - return null; + public String getUsername() { + return username; } - public ArrayList searchByGenre(String genre) { - // Implement search by genre in favorite shows logic here - return null; + + public String getPassword() { + return password; } - public ArrayList searchByReleaseYear(int year) { - // Implement search by release year in favorite shows logic here - return null; + + public void watchTVShow(TVShow tvShow) { + watchedTVShows.add(tvShow); + System.out.println(username + " is watching " + tvShow.getTitle()); } - public void addToFavorites(TVShow show) { - // Implement add to favorites logic here + + public void addToFavorites(TVShow tvShow) { + favoriteTVShows.add(tvShow); + System.out.println(tvShow.getTitle() + " added to favorites for " + username); } + public void viewFavorites() { - // Implement view favorites logic here + System.out.println(username + "'s favorite TV shows:"); + for (TVShow tvShow : favoriteTVShows) { + System.out.println(tvShow.getTitle()); + } + } + + public List getRecommendations() { + List recommendations = new ArrayList<>(); + for (TVShow tvShow : favoriteTVShows) { + recommendations.addAll(tvShow.getSimilarTVShows()); + } + return recommendations; + } + + public List searchByTitle(String query) { + List searchResults = new ArrayList<>(); + for (TVShow tvShow : favoriteTVShows) { + if (tvShow.getTitle().contains(query)) { + searchResults.add(tvShow); + } + } + return searchResults; } - public ArrayList getRecommendations() { - // Implement get recommendations logic here - return null; + + public List searchByGenre(String query) { + List searchResults = new ArrayList<>(); + for (TVShow tvShow : favoriteTVShows) { + if (tvShow.getGenres().contains(query)) { + searchResults.add(tvShow); + } + } + return searchResults; + } + + + public List searchByReleaseYear(int year) { + List searchResults = new ArrayList<>(); + for (TVShow tvShow : favoriteTVShows) { + if (tvShow.getReleaseYear() == year) { + searchResults.add(tvShow); + } + } + return searchResults; } }