Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is in java: Project Title: Album Catalog Goal: The goal of this assignment is to help students familiarize themselves with the following Java programming

This is in java:

Project Title: Album Catalog

Goal: The goal of this assignment is to help students familiarize themselves with the following

Java programming concepts:

1. Input/Output to and from the terminal.

2. Storing data in a file and reading data from a file.

3. Creating object-oriented classes and methods to handle data.

4. Using data structures to store data in main memory (e.g. ArrayList).

5. Working with character strings.

6. Using Javadoc comments and generating and html documentation of the program.

Description:

For this assignment, you will create a program to manage an album collection. Your program will

allow the user to add new albums, display a list of all albums in the collection, search for a

specific album, delete a specific album. Your program should provide the user with a console or

command line choice menu about possible actions that they can perform. The choices should be

the following:

1. Display list of all albums in the collection.

2. Add a new album to the collection.

3. Search for an album given the name of the artist or title of the

album or part of the name of the artist or title of the album.

4. Delete an album from the collection.

5. Exit program.

To represent an item in your program, create a class named Album with the following fields:

title - string

artist - string

releaseYear - int

genre enum MusicGenre

The MusicGenre can be only one of the following: ROCK, RAP, COUNTRY,

POP.

When the program first loads, it reads all the saved albums (if any) from a file named

database.txt into an ArrayList. While the program is running, the user can choose any of

the 5 available options. When the user selects the option 5 (exit program), the program stores the

current contents of the ArrayList to the file (replacing the old contents) and exits. During the

program execution, if the user chooses to add or delete items, only the ArrayList will be updated.

The database.txt file will be updated automatically only when the program is about to exit.

In other words, when the user selects option 5, the program first saves all the contents of the

ArrayList into the text file, and then exits.

The format of the contents of the database.txt file should be in human readable plain text,

one record per line (note the ~ separator between different entries) For example:

Deftones~White Pony~2000~0

UGK~Ridin Dirty~1996~1

Josh Abbott Band~Scapegoat~2012~3

For display, albums should be printed to the console in the following format in alphabetical order

by album title. Override the toString() method to return this format.

Title: Ridin Dirty, Artist: UGK, Year: 1996, Genre: Rap

Title: Scapegoat, Artist: Josh Abbott Band, Year: 2012, Genre: Country

Title: White Pony, Artist: Deftones, Year: 2000, Genre: Rock

Use good design (dont put everything in one class).

Use a package name albumcollection for your classes and put your files in the appropriate

directory structure.

Be sure to validate the user input for the release year and the genre.

You don't need to create any GUI for this assignment. Command line operations are

enough.

Use a standard Java coding style to improve your programs visual appearance and make

it more readable, e.g. BlueJ coding style: http://www.bluej.org/objectsfirst/

styleguide.html or Google Java style guide:

https://google.github.io/styleguide/javaguide.html

Use javadoc comments for ALL your classes and methods.

** I am having the most difficulty with the Release Year and the enum MusicGenre**

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle 11G SQL

Authors: Joan Casteel

2nd Edition

1133947360, 978-1133947363

More Books