Chat with us, powered by LiveChat Create a program that will model a music playlist by using an ArrayList that holds Song objects. Using jGRASP, write a Java program named?Lastname - Writeedu

Create a program that will model a music playlist by using an ArrayList that holds Song objects. Using jGRASP, write a Java program named?Lastname

Instructions:

  1. Create a program that will model a music playlist by using an ArrayList that holds Song objects.
  2. Using jGRASP, write a Java program named LastnameFirstname14.java, using your last name and your first name, that does the following:
    • Uses an ArrayList to model a music playlist.
    • Uses Song objects to represent songs in the playlist, with the following instance variables:
      • Title
      • Artist
      • Minutes
      • Seconds
      • Note: Your toString should print minutes and seconds together (see possible examples below in the Expected Output section)
    • Create a method called createPlaylist. Create an ArrayList of at least 5 songs of your choice. Return the ArrayList.
    • Create a method called editPlaylist. An ArrayList of Song objects will be passed to this method. In this method, ask the user if they would like to add or remove a song to the playlist, or if they change their mind and don't want to add/remove any songs.
      • If they choose to add a song, ask them for the song information. Create a Song object and add it to the ArrayList.
      • If they choose to remove a song, print out the ArrayList in a readable format — in other words, don't just use "System.out.println(playlist);" (see below for Example Output).
      • If they change their mind and do not want to add/remove a song, don't change anything.
      • Return the ArrayList.
      • Note: I recommend you use a loop here so that the user can add/remove as many songs as they like. This makes for a better, more useful program, but it is not required for this assignment.
    • Create a method called savePlaylist. This playlist will have two parameters: the ArrayList and an indicator for whether the user would like to append to or overwrite a file. In the file, record the date that the playlist was saved, then write the ArrayList information to the file in a readable format — in other words, don't just use "System.out.println(playlist);". Confirm to the user that the file was successfully saved, and print the filename or filepath.
    • In the main method:
      • Call the createPlaylist method, then print the returned ArrayList. Make sure to print it out in a readable format — in other words, don't just use "System.out.println(playlist);" (see below for Example Output).
      • Ask the user if they would like to edit your playlist. If so, call the editPlaylist method and print the returned ArrayList.
      • Ask the user if they would like to save the playlist. If so, call the savePlaylist method.
  3. Your program MUST:
    • Create at least 5 Song objects, all with valid data
    • Store the Song objects in an ArrayList
    • Use the printPlaylist method to write out the data for all Song objects in your ArrayList to a separate text file in a neatly arranged format.
    • Actively use in-line comments stating what each section of code does.
    • Use try/catch if, and only if, necessary.
  4. Your program must conform to the Java coding standards reviewed in class during Week 3.
  5. Your program should not use code/concepts we have not yet covered. You must demonstrate that you have mastered the concepts covered in class.
  6. Remember to always begin your code with the following documentation comments:
/**
* Short description of the program.
*
* @author     Last Name, First Name
* @assignment ICS 111 Assignment XX
* @date       Today's Date
* @bugs       Short description of bugs in the program, if any.
*/

Expected Output:

You may format your toString any way you want, as long as it presents the song info in a readable manner. Here are some suggestions:

"Say So" by Doja Cat (3:58)

"South" by Galimatias
3 minutes 35 seconds

Title:  "Fly – FKJ Remix"
Artist: June Marieezy, FKJ
Time:   4:12

Feel free to choose one of these formats, or make up your own!

The following example uses the 1st format. The example also adds in the option to allow the user to continuously add/remove songs until they choose to stop, and to specify where in the playlist they'd like to add a song. These  two features are optional.
 

----jGRASP exec: java ManuelNikki14
Hey! Check out this really cool playlist I made!


                   *** My 2am Playlist ***

                                   "Solitude" by re:plus (4:16)
                             "Paris in the Rain" by Lauv (3:24)
                     "Enamored" by Ibrahim (feat. Limes) (2:47)
                "Never Gonna Give You Up" by Rick Astley (3:35)
"Spending Late Nights with You" by Rook1e (feat. Aimless) (1:36)
                     "Kimi no Toriko (remix)" by Heiakim (2:55)


What do you think? Should I make any changes?
Type yes or no: yes

Should I add or remove a song?
(Or if you change your mind, you can say nevermind!)
Type add, remove, or nevermind: add

  Okay, let's add a song! Please enter the song information:
     Song title: "in your arms"
     Artist: Saib
     Minutes: 4
     Seconds: 37
  What # song in the playlist should it be? 3

  Now adding "in your arms" by Saib (4:37) as #3 on the playlist...

Here's the new playlist:

                   *** My 2am Playlist ***

                                   "Solitude" by re:plus (4:16)
                             "Paris in the Rain" by Lauv (3:24)
                                  "in your arms" by Saib (4:37)
                     "Enamored" by Ibrahim (feat. Limes) (2:47)
                "Never Gonna Give You Up" by Rick Astley (3:35)
"Spending Late Nights with You" by Rook1e (feat. Aimless) (1:36)
                     "Kimi no Toriko (remix)" by Heiakim (2:55)


What do you think? Should I add or remove a song?
(Or if you're done editing, you can say finished!)
Type add, remove, or finished: remove

  Okay! Just in case you forgot, here is the current playlist:

                   *** My 2am Playlist ***

                                   "Solitude" by re:plus (4:16)
                             "Paris in the Rain" by Lauv (3:24)
                                  "in your arms" by Saib (4:37)
                     "Enamored" by Ibrahim (feat. Limes) (2:47)
                "Never Gonna Give You Up" by Rick Astley (3:35)
"Spending Late Nights with You" by Rook1e (feat. Aimless) (1:36)
                     "Kimi no Toriko (remix)" by Heiakim (2:55)

  Which # song would you like to remove? 5

  Now removing "Never Gonna Give You Up" by Rick Astley (3:35)...

Here's the new playlist:

                   *** My 2am Playlist ***

                                   "Solitude" by re:plus (4:16)
                             "Paris in the Rain" by Lauv (3:24)
                                  "in your arms" by Saib (4:37)
                     "Enamored" by Ibrahim (feat. Limes) (2:47)
"Spending Late Nights with You" by Rook1e (feat. Aimless) (1:36)
                     "Kimi no Toriko (remix)" by Heiakim (2:55)


What do you think? Should I add or remove a song?
(Or if you're done editing, you can say finished!)
Type add, remove, or finished: finished

Sounds good. What a great playlist! :)


Once you close this program, you're gonna lose all the playlist data.
Would you like to save it to a file, so you can refer to it later?
Type yes or no: yes

  This playlist will now be saved to: playlist.txt
  Would you like to append to or overwrite this file?
  Type append or overwrite: append

  Okay, got it!
  Playlist is now saved to: /home/nikki/Desktop/playlist.txt


Thanks for using my program. Bye!

----jGRASP: operation complete.

Submission Instructions:

  • Submit your LastnameFirstname14.java file through Laulima via the Assignments section.
  • In addition, submit any additional files needed to run your program.
  • DO NOT submit the .class file, submit only the .java file.

Grading:

  • This assignment is out of 50 points.
  • -10 points for each method
  • -5 points for ArrayList or object class errors
  • -5 points if user does not use conditionals, loops, arrays, or methods if possible
  • -5 points if assignment is not submitted to specifications. For example, documentation comments are not included or are incomplete/incorrect, file name does not follow the specified format, your name is not included in the file name, wrong file attached, etc.
  • (-1 to -5 points) Miscellaneous mistakes, bugs, or problems.

Assignment will receive a grade of 0 (zero) points if instructions are not adhered to.

    Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteEdu. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

    Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

    Do you need an answer to this or any other questions?

    Do you need help with this question?

    Get assignment help from WriteEdu.com Paper Writing Website and forget about your problems.

    WriteEdu provides custom & cheap essay writing 100% original, plagiarism free essays, assignments & dissertations.

    With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.

    Chat with us today! We are always waiting to answer all your questions.

    Click here to Place your Order Now