Create a program that begins by loading the file

Assignment Help JAVA Programming
Reference no: EM131588882

1.) Using the attached catalog.txt file, create a program that begins by loading the file onto an arraylist of Album classes called Catalog. Each Album class consists of 3 attributes: artist name, album name, and an arraylist of Track objects, each containing the name of a song on the album.

2.) Implement the Comparable interface for the Album and the Track classes, defining their own compareTo() methods.

3.) Sort the Album arraylist using Collections.sort(), and display the sorted Albums by album name. For each Album, display the album name, artist name, and display all the Tracks (i.e. songs) in alphabetical order (use the sort() method too)

4.) Add another sort of the Album arraylist, by artist name. To implement this sort, you will need to implement a Comparator interface, and create a Comparator class. Save the results of this sort in a separate ArrayList from the one sorted by album name. Print a dividing line of asterisks, and then display all the Albums by artist name. For each Album, also display the album name, and all its tracks (songs) in alphabetical order. For more hints, see pg. 661 in CH. 14 of Big Java, 5th Edition.

5.) Display a menu for the user to select from the following options, once the Album arraylist is fully populated:
1. Search by Album Title
2. Search by Artist
3. Add album to catalog
4. Quit

5.) For the Album search, first sort the ArrayList of Albums by album name, using the Comparable interface and compareTo methods in the Album class. Then, use the binary search method for Collections, Collections.binarySearch(), to find the album requested by the user.

6.) For the artist search, sort the ArrayList of Albums by artist name, using the Comparator interface and your comparator class. Once sorted by artist, use the binary search method for Collections, Collections.binarySearch() to find all the albums for a particular artist requested by the user. Display the names of all the albums that have been created by the artist.
***Hint: Since there are multiple albums by one artist, the value returned by the binarySearch() method is arbitrary in the list of the same artist. You will have to keep getting the rest of the albums by searching above and below that arbitrary index, until the artist is different. Use the ArrayList.get()method (see page 349 of Big Java, 5th Edition, for an exmple of a loop to sequentially go through an arrayList.)

7.) Implement the Scanner and File classes to read the Album file.

8.) Implement the FileWriter and PrintWriter classes to write to the Album file.

9.) Catch exceptions such as IOException and FileNotFound. Thus, prompt the user for the name of the input/output file. Give the user a message that says "Enter catalog2.txt for the file input."

10.) If the user selects the "add album to catalog" option, then prompt the user for all the information that makes up an Album object, and once created, add the new Album to the ArrayList of Albums. Don't forget to re-sort the ArrayList of Albums. Don't forget to permanently add the album to the external file, using the FileWriter and PrintWriter classes. It may be easier to create a .toString() method in the Album class, and then use it to write the new Album record to the file. (Ex.: outputStreamName.println(objectName) will invoke the .toString()) behind the scenes.)

Attachment:- catalog2.rar

Reference no: EM131588882

Questions Cloud

What are the challenges faced by entrepreneurs : Entrepreneurship is the process of starting new businesses. What are the challenges faced by entrepreneurs? What are some solutions to these challenges/issues?
Explain the relationship between morality and well-being : Explain the relationship between morality and well-being. How can moral behavior be defined in terms of well-being?
Find the cartesian equations of the line : A straight line has the vector equation r = a + ?b, where a = 3j + 2k, and b = 2i + j + 2k.
Description of the selected disorder : Description of the selected disorder (Identify the DSM diagnostic category for the disorder and distinguish between diagnostic and commonly used terminology.)
Create a program that begins by loading the file : create a program that begins by loading the file onto an arraylist of Album classes called Catalog. Each Album class consists of 3 attributes
What percentage of the total sample is retired : What percentage of the total sample is retired? What percentage of the total sample is on sick leave? What percentage of the total sample is retired?
Find the position vector of a vector parallel : Given that a straight line L1 passes through the points (-2, 3, 1) and (1, 4, 6), find a straight line L2 parallel to L1 that passes through the point (1, 2, 1)
Expected costs per qaly : The discount rate is 0.05 per year. If the treatment costs are $2,000 in Year 1, $3,000 in Year 2, and $5,000 in Year 3, then the expected costs per QALY.
Discuss monopolistic competition to analyze the impact : Suppose you manage a local grocery store, and you learn that a very popular national grocery chain is about to open a store just a few miles away

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd