Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

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

Java, Programming

  • Category:- Java
  • Reference No.:- M92397596
  • Price:- $10

Priced at Now at $10, Verified Solution

Have any Question?


Related Questions in Java

Answer the following question whats the difference public

Answer the following Question : What's the difference public inheritance and private inheritance? What can derived classes inherit from base classes? What cannot be inherited from base classes?

Assessment database and multithread programmingtasktask 1

Assessment: Database and Multithread Programming Task Task 1: Grade Processing University grading system maintains a database called "GradeProcessing" that contains number of tables to store, retrieve and manipulate stud ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Can someone help me please with those question1what is the

Can someone help me please with those question 1:what is the best data type for student id datatime,currency,number,decimal 2:which relationshipis preferable? one to one,one to many,many to many 3:if you add table A's pr ...

In ruby the hash class inherits from enumerable suggesting

In Ruby, the Hash class inherits from Enumerable, suggesting to a programmer that Hashes are collections. In Java, however, the Map classes are not part of the JCF (Java Collections Framework). For each language, provide ...

Can someone kindly help me to consider whether java

Can someone kindly help me to consider whether Java provides the facility of operator overloading? If it does, may you kindly describe how overloading operators can be accomplished? If not, may you kindly describe why yo ...

Question slideshows or carousels are very popular in

Question : Slideshows (or carousels) are very popular in websites. They allow web developers to display news or images on the website in limited space. In this code challenge, you are required to complete the JavaScript ...

Fundamentals of operating systems and java

Fundamentals of Operating Systems and Java Programming Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements ...

Assessment database and multithread programmingtasktask 1

Assessment: Database and Multithread Programming Task Task 1: Grade Processing University grading system maintains a database called "GradeProcessing" that contains number of tables to store, retrieve and manipulate stud ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As