[Solved] DataStructures Project1-Sets

$25

File Name: DataStructures_Project1-Sets.zip
File Size: 263.76 KB

SKU: [Solved] DataStructures Project1-Sets Category: Tag:
5/5 - (1 vote)

In this assignment, you are given two ADT interfaces, and you will implement them according to their specifications.

Starting point

Download and extract these materials. Contained are:

  • java , the provided driver program.
  • java , the things that will be held by a MovieShelf
  • java , an exception type
  • java and MovieShelfInterface.java , interfaces which you will implement in
  • java and MovieShelf.java . These are the files you will modify.

Do not modify anything other than Set.java and MovieShelf.java . We will be testing these with unmodified versions of the other files.

Organization is good. Make yourself a folder for this project if you havent already.

Set See the grading rubric

further down to see the

You will implement the Set class. It implements SetInterface . breakdown of the points. Read the doc comments for each method in SetInterface

carefully. In addition to the interface methods, you will also need to make some constructors, as detailed below.

  • It will store its data in an array.
  • It will be dynamic capacity (like we talked about in Lecture 3).
  • The Set(int) constructor will initialize the array to the given capacity.

It will check for an illegal capacity, and throw IllegalArgumentException in that case.

  • The Set() constructor will initialize the array to a reasonable default capacity.

Reusing methods/constructors is a great habit! See section D.10 of Carrano (page 877 in the 4th edition) for details.

  • The Set(E[]) constructor will initialize the set to contain the items in the array.

You will not make this array into the sets backing array. That violates encapsulation.

The array may contain duplicates and null s. You should ignore these instead of throwing an exception.

  • Although you are given SetFullException , your add method will never actually throw it.

Since your implementation will dynamically resize its capacity, it can never be full.

MovieShelf

You will implement the MovieShelf class. It implements MovieShelfInterface . Again, read the doc comments in that file carefully.

MovieShelf is a client of your Set . That is, it will have an instance You are writing code that of Set and use it to hold its data. This means you are creating this uses your own code. We class via composition. call this eating our own dogfood. Its kind of a gross

Details of your MovieShelf implementation term, but hey.

  • It will store its data in a Set<MovieShelfItem> .
  • The MovieShelf() constructor will initialize that Set to be empty.
  • The MovieShelf(Movie[]) constructor will initialize that Set with that array of Movie s.
  • A note on printAll() : you can use Set.toArray() to get the movies to print, but it is an array of Object . You will have to cast each item to a Movie to access its movie-specific getters.

Testing

We will be testing your code on the command line. You are welcome to use an IDE, but before submitting, please test that your Java files can be compiled and run on the command line without it.

You are given a simple driver program, but you should write your own driver as well to test your code more thoroughly. The driver provided does not test all the possible corner cases, and does not test Set directly.

Click here for an example of what the driver will output for a correct implementation.

This is not acceptable in this class or in your following classes. Comment out the code that doesnt compile and put comments at the top of your Java files for the grader. You may receive some partial credit for such code.

Code that crashes may also receive partial credit.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] DataStructures Project1-Sets
$25