Problem Description: Greetings aspiring music enthusiasts! You have been recruited by a top music streaming service to develop a cutting-edge music player application! Your mission is to create an app that allows users to manage their playlists and listen to their favorite tunes. The Challenge: The music industry faces a critical challenge – users crave a personalized and engaging way to experience their favorite tunes! Your mission is to create an innovative application that goes beyond basic playback. Your Objectives: Develop the Maestro’s Toolkit: Define a robust music player which involves Users, Playlists, and Songs. Each user will be able to create and manage their personal music collections using Playlists, which have a variety of Songs. Craft the Perfect Symphony: Implement functionalities that make your music player stand out! • Seamless Playlist Management: Users should be able to create or delete Playlists. Additionally, the functionality to customize existing Playlists is crucial. • Curated Listening Experience: Let Users express their preferences through like and dislike functionality on both Playlists and Songs. Additionally, we want to allow Users to customize their Playlist with features like selecting the top and worst Song in the Playlist. • Advanced Music Control: Users should be able to “play” and “pause” songs on demand. By successfully completing this mission, you'll not only develop valuable programming skills, but you'll also establish yourself as a legendary Music Maestro, crafting extraordinary musical experiences for all! Solution Description: In the interest of encapsulation, data members for the following classe should only be accessible from other classes using getters and/or setters where needed. The described methods and constructors for this assignment should be public. It is OK to write private helper methods. When you write your solution, you’ll need to exactly match the instance variable names listed in this document. Further, your Strings should exactly match our expected format. Minor discrepancies, including whitespace and punctuation issues, can result in failed test cases. • The String formats in the PDF sometimes wrap to another line due to their length -- you are not expected to include newline characters in them. Likeable.java Likeable, an interface, denotes whether an object can receive likes or dislikes. For example, Playlists should be able to be liked and disliked. Likeable will require classes that implement it to implement the following methods: • like() - updates internal state to reflect a new like • dislike() - updates internal state to reflect a new dislike • getLikes() - returns number of likes • getDislikes() - returns number of dislikes
Problem Description: Greetings aspiring music enthusiasts! You have been recruited by a top music streaming service to develop a cutting-edge music player application! Your mission is to create an app that allows users to
manage their playlists and listen to their favorite tunes.
The Challenge: The music industry faces a critical challenge – users crave a personalized and engaging
way to experience their favorite tunes! Your mission is to create an innovative application that goes
beyond basic playback.
Your Objectives: Develop the Maestro’s Toolkit: Define a robust music player which involves Users, Playlists,
and Songs. Each user will be able to create and manage their personal music collections using Playlists, which have a variety of Songs.
Craft the Perfect Symphony: Implement functionalities that make your music player stand out!
• Seamless Playlist Management: Users should be able to create or delete Playlists. Additionally, the functionality to customize existing Playlists is crucial.
• Curated Listening Experience: Let Users express their preferences through like and dislike functionality on both Playlists and Songs. Additionally, we want to allow Users to customize their Playlist with features like selecting the top and worst Song in the Playlist.
• Advanced Music Control: Users should be able to “play” and “pause” songs on demand.
By successfully completing this mission, you'll not only develop valuable programming skills, but you'll
also establish yourself as a legendary Music Maestro, crafting extraordinary musical experiences for all!
Solution Description: In the interest of encapsulation, data members for the following classe should only be
accessible from other classes using getters and/or setters where needed. The described methods and
constructors for this assignment should be public. It is OK to write private helper methods. When you write your
solution, you’ll need to exactly match the instance variable names listed in this document. Further, your
Strings should exactly match our expected format. Minor discrepancies, including whitespace and
punctuation issues, can result in failed test cases.
• The String formats in the PDF sometimes wrap to another line due to their length -- you are not
expected to include newline characters in them.
Likeable.java
Likeable, an interface, denotes whether an object can receive likes or dislikes. For example,
Playlists should be able to be liked and disliked. Likeable will require classes that implement it
to implement the following methods:
• like()
- updates internal state to reflect a new like
• dislike()
- updates internal state to reflect a new dislike
• getLikes()
- returns number of likes
• getDislikes()
- returns number of dislikes
Step by step
Solved in 4 steps with 4 images