Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
16 views

Assignment Activity Unit 5

Uploaded by

saadafriditv
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Assignment Activity Unit 5

Uploaded by

saadafriditv
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

1

Programming Assignment Unit 6

University of People

Muhammad Saad Afridi

CS 1103-01 Programming 2 - AY2024-T5

(Instructor)

July 29, 2024


2

LIBRARY MANAGEMENT SYSTEM:

Main.java:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Catalog<LibraryItem> catalog = new Catalog<>();

Scanner scanner = new Scanner(System.in);

while (true) {

System.out.println("Library Catalog Menu:");

System.out.println("1. Add Book");

System.out.println("2. Add DVD");

System.out.println("3. Add Magazine");

System.out.println("4. Remove Item");

System.out.println("5. View Item");

System.out.println("6. Display All Items");

System.out.println("7. Exit");

System.out.print("Choose an option: ");

int choice = scanner.nextInt();

scanner.nextLine(); // consume newline


3

switch (choice) {

case 1:

System.out.print("Enter book title: ");

String bookTitle = scanner.nextLine();

System.out.print("Enter book author: ");

String bookAuthor = scanner.nextLine();

System.out.print("Enter book item ID: ");

int bookItemID = scanner.nextInt();

scanner.nextLine(); // consume newline

Book newBook = new Book(bookTitle, bookAuthor, bookItemID);

catalog.addItem(newBook);

System.out.println("Book added.");

break;

case 2:

System.out.print("Enter DVD title: ");

String dvdTitle = scanner.nextLine();

System.out.print("Enter DVD director: ");

String dvdDirector = scanner.nextLine();

System.out.print("Enter DVD item ID: ");

int dvdItemID = scanner.nextInt();


4

scanner.nextLine(); // consume newline

DVD newDVD = new DVD(dvdTitle, dvdDirector, dvdItemID);

catalog.addItem(newDVD);

System.out.println("DVD added.");

break;

case 3:

System.out.print("Enter magazine title: ");

String magTitle = scanner.nextLine();

System.out.print("Enter magazine issue: ");

String magIssue = scanner.nextLine();

System.out.print("Enter magazine item ID: ");

int magItemID = scanner.nextInt();

scanner.nextLine(); // consume newline

Magazine newMagazine = new Magazine(magTitle, magIssue, magItemID);

catalog.addItem(newMagazine);

System.out.println("Magazine added.");

break;

case 4:

System.out.print("Enter item ID to remove: ");


5

int removeID = scanner.nextInt();

scanner.nextLine(); // consume newline

catalog.removeItem(removeID);

break;

case 5:

System.out.print("Enter item ID to view: ");

int viewID = scanner.nextInt();

scanner.nextLine(); // consume newline

LibraryItem item = catalog.getItem(viewID);

if (item != null) {

System.out.println(item);

} else {

System.out.println("Item not found.");

break;

case 6:

catalog.displayItems();

break;
6

case 7:

System.out.println("Exiting.");

scanner.close();

System.exit(0);

default:

System.out.println("Invalid choice. Please try again.");

Catalog.java:

import java.util.HashMap;

import java.util.Map;

public class Catalog<T extends LibraryItem> {

private Map<Integer, T> items;

public Catalog() {

items = new HashMap<>();

}
7

public void addItem(T item) {

items.put(item.getItemID(), item);

public void removeItem(int itemID) {

if (items.containsKey(itemID)) {

items.remove(itemID);

} else {

System.out.println("Item with ID " + itemID + " does not exist.");

public T getItem(int itemID) {

return items.get(itemID);

public void displayItems() {

if (items.isEmpty()) {

System.out.println("Catalog is empty.");

} else {

for (T item : items.values()) {

System.out.println(item);
8

Book.java:

public class Book extends LibraryItem {

public Book(String title, String author, int itemID) {

super(title, author, itemID);

DVD.java:

public class DVD extends LibraryItem {

private String director;

public DVD(String title, String director, int itemID) {

super(title, director, itemID);

this.director = director;

}
9

public String getDirector() {

return director;

@Override

public String toString() {

return "DVD{" +

"title='" + getTitle() + '\'' +

", director='" + director + '\'' +

", itemID=" + getItemID() +

'}';

Magazine.java:

public class Magazine extends LibraryItem {

private String issue;

public Magazine(String title, String issue, int itemID) {

super(title, issue, itemID);

this.issue = issue;
10

public String getIssue() {

return issue;

@Override

public String toString() {

return "Magazine{" +

"title='" + getTitle() + '\'' +

", issue='" + issue + '\'' +

", itemID=" + getItemID() +

'}';

LibraryItem.java:

public class LibraryItem {

private String title;

private String author;

private int itemID;


11

public LibraryItem(String title, String author, int itemID) {

this.title = title;

this.author = author;

this.itemID = itemID;

public String getTitle() {

return title;

public String getAuthor() {

return author;

public int getItemID() {

return itemID;

@Override

public String toString() {

return "LibraryItem{" +

"title='" + title + '\'' +

", author='" + author + '\'' +


12

", itemID=" + itemID +

'}';

You might also like