Java

 

Introduction

In this tutorial, we will be creating a Book Inventory System using Java. This system allows bookstore owners to manage their inventory by keeping track of books available for sale, as well as performing basic operations such as adding, updating, deleting, and viewing books in the inventory. The goal is to create a simple, functional, and user-friendly inventory system to help streamline bookstore management.

Objective

The objective of this Book Inventory System is to help users manage the stock of books in a bookstore efficiently. This program provides basic functionalities such as adding a new book, updating book details, deleting books from the inventory, and displaying the list of available books. It will teach you how to handle collections, user input, and basic file handling for persistent data storage.

Java Code for Book Inventory System

        import java.util.ArrayList;
        import java.util.Scanner;

        class Book {
            String title;
            String author;
            String isbn;
            double price;

            public Book(String title, String author, String isbn, double price) {
                this.title = title;
                this.author = author;
                this.isbn = isbn;
                this.price = price;
            }

            public String toString() {
                return "Title: " + title + ", Author: " + author + ", ISBN: " + isbn + ", Price: $" + price;
            }
        }

        public class BookInventorySystem {
            private ArrayList inventory;
            private Scanner scanner;

            public BookInventorySystem() {
                inventory = new ArrayList<>();
                scanner = new Scanner(System.in);
            }

            public void displayMenu() {
                System.out.println("Book Inventory System Menu:");
                System.out.println("1. Add a new book");
                System.out.println("2. Update book details");
                System.out.println("3. Delete a book");
                System.out.println("4. View inventory");
                System.out.println("5. Exit");
            }

            public void addBook() {
                System.out.print("Enter book title: ");
                String title = scanner.nextLine();
                System.out.print("Enter book author: ");
                String author = scanner.nextLine();
                System.out.print("Enter book ISBN: ");
                String isbn = scanner.nextLine();
                System.out.print("Enter book price: ");
                double price = scanner.nextDouble();
                scanner.nextLine();  // Consume the newline

                Book book = new Book(title, author, isbn, price);
                inventory.add(book);
                System.out.println("Book added successfully!");
            }

            public void updateBook() {
                System.out.print("Enter ISBN of the book to update: ");
                String isbn = scanner.nextLine();

                for (Book book : inventory) {
                    if (book.isbn.equals(isbn)) {
                        System.out.print("Enter new title (or leave blank to keep current): ");
                        String title = scanner.nextLine();
                        if (!title.isEmpty()) book.title = title;

                        System.out.print("Enter new author (or leave blank to keep current): ");
                        String author = scanner.nextLine();
                        if (!author.isEmpty()) book.author = author;

                        System.out.print("Enter new price (or leave blank to keep current): ");
                        String priceInput = scanner.nextLine();
                        if (!priceInput.isEmpty()) book.price = Double.parseDouble(priceInput);

                        System.out.println("Book updated successfully!");
                        return;
                    }
                }
                System.out.println("Book not found.");
            }

            public void deleteBook() {
                System.out.print("Enter ISBN of the book to delete: ");
                String isbn = scanner.nextLine();

                for (Book book : inventory) {
                    if (book.isbn.equals(isbn)) {
                        inventory.remove(book);
                        System.out.println("Book deleted successfully!");
                        return;
                    }
                }
                System.out.println("Book not found.");
            }

            public void viewInventory() {
                if (inventory.isEmpty()) {
                    System.out.println("No books in inventory.");
                } else {
                    System.out.println("Inventory List:");
                    for (Book book : inventory) {
                        System.out.println(book);
                    }
                }
            }

            public void start() {
                while (true) {
                    displayMenu();
                    System.out.print("Enter your choice: ");
                    int choice = scanner.nextInt();
                    scanner.nextLine();  // Consume the newline

                    switch (choice) {
                        case 1:
                            addBook();
                            break;
                        case 2:
                            updateBook();
                            break;
                        case 3:
                            deleteBook();
                            break;
                        case 4:
                            viewInventory();
                            break;
                        case 5:
                            System.out.println("Exiting...");
                            return;
                        default:
                            System.out.println("Invalid choice. Please try again.");
                    }
                }
            }

            public static void main(String[] args) {
                BookInventorySystem system = new BookInventorySystem();
                system.start();
            }
        }

Program Explanation

This Java program manages a simple book inventory for a bookstore. Here’s a breakdown of the components:

  • Book Class: Represents a book with attributes like title, author, ISBN, and price. It also includes a toString() method for displaying book details.
  • BookInventorySystem Class: This class manages the inventory of books. It provides functionality for adding, updating, deleting, and viewing books in the inventory. It uses an ArrayList to store the books.
  • Menu System: The program displays a simple menu with options. Based on user input, it calls the appropriate method to handle the inventory operations.
  • Scanner for Input: The program uses the Scanner class to get user input from the console.

How to Run the Program

  1. Ensure that you have Java installed on your system.
  2. Create a new Java file named BookInventorySystem.java.
  3. Copy the code above into your file.
  4. Open a terminal or command prompt, navigate to the folder where your Java file is saved.
  5. Compile the program by running javac BookInventorySystem.java.
  6. Run the program by typing java BookInventorySystem.
  7. Follow the on-screen instructions to manage the book inventory.
© 2025 Learn Programming. All Rights Reserved.

 

By Aditya Bhuyan

I work as a cloud specialist. In addition to being an architect and SRE specialist, I work as a cloud engineer and developer. I have assisted my clients in converting their antiquated programmes into contemporary microservices that operate on various cloud computing platforms such as AWS, GCP, Azure, or VMware Tanzu, as well as orchestration systems such as Docker Swarm or Kubernetes. For over twenty years, I have been employed in the IT sector as a Java developer, J2EE architect, scrum master, and instructor. I write about Cloud Native and Cloud often. Bangalore, India is where my family and I call home. I maintain my physical and mental fitness by doing a lot of yoga and meditation.

Leave a Reply

Your email address will not be published. Required fields are marked *

error

Enjoy this blog? Please spread the word :)