Assignment 6 due Thursday, February 28 at 11:59pm on Canvas Pair Programming Extra Credit Opportunity (1 pt)
Thrice Sold Tales (10 pts)
Updated Text File:
The Time in Between Maria Duenas 9.86 43-453-44 2 Bleak House Charles Dickens 8.99 35-678-97 4 Rebecca Daphne Dumaurier 5.50 32-423-82 5 A Room with a View E.M. Forster 7.50 11-778-89 3 Outlander Diana Galbadon 19.95 54-665-65 7 Jane Eyre Charlotte Bronte 7.90 23-456-74 4 The Hunger Games Suzanne Collins 6.90 42-323-22 10 The Woman in White Wilkie Collins 10.75 32-567-89 2 A Face like Glass Frances Hardinge 15.95 44-554-43 1 Lady Audley's Secret Mary Elizabeth Braddon 5.50 12-121-34 1 Murder on the Orient Express Agatha Christie 2.99 98-375-83 8 Middlemarch George Elliot 12.50 12-567-43 4 Our Souls at Night Kent Haruf 11.99 78-474-89 2 Fangirl Rainbow Rowell 10.79 24-137-25 6 Ramona Blue Julie Murphy 9.99 93-283-11 4 The Rosie Project Graeme Simsion 14.99 82-389-31 5 A Is for Alibi Sue Grafton 4.55 34-323-21 3 Still Life Louise Penny 18.99 33-443-22 5 Flight Behavior Barbara Kingsolver 9.98 56-382-34 4 Implement Comparable for Book.java and the compareTo Method for Book:
/** * Compares two Books. * Returns 0 if the two Books are equal * If the two books have the same title * returns compareTo of the authors * Otherwise, returns compareTo of the titles */ public int compareTo(Book b) { return -1; } Additional Method for Media.java
/** * Updates the number of copies * @param newCopies the number of * copies to add to numCopies */ public void updateNumCopies(int newCopies) { numCopies += newCopies; } Catalogue.java Interface
/* * Catalogue.java * @author* CIS 36B, Assignment 12 */ import java.io.IOException; import java.util.Scanner; public interface Catalogue { /** * Reads from a file and populates the catalogue * @param input the Scanner used to read in the data */ void populateCatalogue(Scanner input) throws IOException; /** * Searches for Media m in the catalogue * @param m the piece of media to locate * @return the location of the media in * the catalogue */ int binarySearch(Media m); /** * Sorts the catalogue into * ascending order */ void bubbleSort(); /** * Prints a menu of options to interact * with the catalogue */ void printMenu(); /** * Prints out the current catalogue */ void printStock(); } Updated TwiceSoldTales.java
/** * TwiceSoldTales.java * Note: the name of an awesome * used bookstore in Seattle, WA! * @author * CIS 36B, Assignment 12 */ import java.util.ArrayList; import java.util.Scanner; import java.io.File; import java.io.IOException; public final class TwiceSoldTales implements Catalogue { private ArrayList<Book> books = new ArrayList<Book>(); private static final String filename = "books.txt"; Sample Output - Your Output Must Work Identically to What is Shown Below Welcome to Twice Sold Tales! We currently have 80 books in stock! Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: A Enter the book information below: Title: Flight Behavior Author: Barbara Kingsolver We have Flight Behavior in stock! Title: Flight Behavior Author: Barbara Kingsolver Price: $9.98 ISBN #: 56-382-34 Copies: 4 Would you like to purchase it (y/n): y Thank you for your purchase! Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: z Invalid option! Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: z Invalid option! Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: A Enter the book information below: Title: A Man Called Ove Author: Fredrik Backman Sorry! We don't carry that title right now. Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: A Enter the book information below: Title: A Is for Alibi Author: Sue Grafton We have A Is for Alibi in stock! Title: A Is for Alibi Author: Sue Grafton Price: $4.55 ISBN #: 34-323-21 Copies: 3 Would you like to purchase it (y/n): n Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: B Enter the book information below: Title: A Is for Alibi Author: Sue Grafton ISBN: 34-323-21 Enter the price you paid: $10.99 Thank you! We will purchase the book for $2.75 Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: C Current Selection of Books: Title: A Face like Glass Author: Frances Hardinge Price: $15.95 ISBN #: 44-554-43 Copies: 1 Title: A Is for Alibi Author: Sue Grafton Price: $4.55 ISBN #: 34-323-21 Copies: 4 (Note this value got updated from 3 to 4 when a new copy was purchased) Title: A Room with a View Author: E.M. Forster Price: $7.5 ISBN #: 11-778-89 Copies: 3 Title: Bleak House Author: Charles Dickens Price: $8.99 ISBN #: 35-678-97 Copies: 4 Title: Fangirl Author: Rainbow Rowell Price: $10.79 ISBN #: 24-137-25 Copies: 6 Title: Flight Behavior Author: Barbara Kingsolver Price: $10.23 ISBN #: 56-382-34 Copies: 3 Title: Jane Eyre Author: Charlotte Bronte Price: $7.9 ISBN #: 23-456-74 Copies: 4 Title: Lady Audley's Secret Author: Mary Elizabeth Braddon Price: $5.5 ISBN #: 12-121-34 Copies: 1 Title: Middlemarch Author: George Elliot Price: $12.5 ISBN #: 12-567-43 Copies: 4 Title: Murder on the Orient Express Author: Agatha Christie Price: $2.99 ISBN #: 98-375-83 Copies: 8 Title: Our Souls at Night Author: Kent Haruf Price: $11.99 ISBN #: 78-474-89 Copies: 2 Title: Outlander Author: Diana Galbadon Price: $19.95 ISBN #: 54-665-65 Copies: 7 Title: Ramona Blue Author: Julie Murphy Price: $9.99 ISBN #: 93-283-11 Copies: 4 Title: Rebecca Author: Daphne Dumaurier Price: $5.5 ISBN #: 32-423-82 Copies: 5 Title: Still Life Author: Louise Penny Price: $18.99 ISBN #: 33-443-22 Copies: 5 Title: The Hunger Games Author: Suzanne Collins Price: $6.9 ISBN #: 42-323-22 Copies: 10 Title: The Rosie Project Author: Graeme Simsion Price: $14.99 ISBN #: 82-389-31 Copies: 5 Title: The Time in Between Author: Maria Duenas Price: $9.86 ISBN #: 43-453-44 Copies: 2 Title: The Woman in White Author: Wilkie Collins Price: $10.75 ISBN #: 32-567-89 Copies: 2 Please select from one of the options: A. Search for a book to purchase B. Sell a book C. Print catalogue X. Exit Enter your choice: X Please come again!
|