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.

    Get 20% Discount on This Paper
    Pages (550 words)
    Approximate price: -

    Try it now!

    Get 20% Discount on This Paper

    We'll send you the first draft for approval by at
    Total price:
    $0.00

    How it works?

    Follow these simple steps to get your paper done

    Place your order

    Fill in the order form and provide all details of your assignment.

    Proceed with the payment

    Choose the payment system that suits you most.

    Receive the final file

    Once your paper is ready, we will email it to you.

    Our Services

    Ace Writing Center has stood as the world’s leading custom essay writing services providers. Once you enter all the details in the order form under the place order button, the rest is up to us.

    Essays

    Essay Writing Services

    At Ace Writing Center, Nowadays, students normally have extremely busy schedules. You will note that some of them have to take on some evening or weekend jobs in order to get some income that can help them to sustain in college or in the university. This can deny them a chance to write all the essays given. Others usually get bombarded with a lot of work by their lecturers. This can still delay such students from working on all their essays. However, some of them usually try to work on all these essays but end up delivering their work late. This can prevent them from graduating since most lecturers are strict on deadlines. If you want to write a business essay, the wise way is to hire an outstanding essay writing service like us, so that you can get the best results. If you are keen, you will note that many companies usually overcharge their customers. Some of them are there only to make money. And in reality, they really don’t care to build a long term commitment with students. You should not choose such companies. You should take your time and choose a reliable company to work with. Ace Writing Center is the ultimate solution for you. We have been offering our writing service for more than 7 years. This is a clear indication that you will get quality essay writing service. We have a wide range of writers who can work on any business essay that you might have. We believe in doing extensive research so that we can provide quality work to all our clients. .

    Admissions

    Admission and Business Papers

    Have you ever had to write an admission essay for college? The majority of students face the same issues when applying to a university or college and many in such situations decide they need professional help to cope with this matter. They get in a situation when the deadline keeps coming closer but lack motivation to start because they are just not sure if their writing skills are strong enough. We have a solution for you! Ace Writing Center is the best admission essay writing service with a large professional team and years of experience in providing high-quality papers to students of all levels and faculties. The mission of our team is to help students make their dreams of entering a good college come true and that’s what we offer!.

    Editing

    Editing and Proofreading

    Sometimes all the words for your paper just flow out of your mind and into your fingers. You type quickly at your keyboard and there they are, your beautiful words right there on the screen. But you have no idea how to polish it up. You may be wishing there was a paper writing service that offered this type of writing service. Look no more! Here at Ace Writing Center, we offer you an editing and proofreading option that you can't find anywhere else..

    Coursework

    College Essay Writing

    In case you are familiar Ace Writing Center, you know the way to distinguish a better company from a cheap one exactly. First of all, poor service website does not have a sufficient support. We think support team is an essential part of success; it has to answer all clients’ questions and be a connecting link between clients and their writers. On our web-service you will get answers about anything you need and your writer will receive all your instructions, assignments and requirements exactly and swiftly. A writing service that we run has got a flexible pricing system that will save you from senseless wastes and many bonus systems that let you sparing money for something important for you.