Table of Contents
Running renderings
Home Java javaTutorial Java practical sharing—the operating effects and existing problems of the book lending system

Java practical sharing—the operating effects and existing problems of the book lending system

Aug 04, 2018 am 11:30 AM
java

I have been learning the basics of Java by myself and hope to develop in the direction of JavaWeb. I have been studying by myself for a long time, but I basically don’t know how to record it every time. Yesterday I saw the GitChat push, and I felt that I should record my daily learning, so that it can serve as a supervision.

Today this is a small Java exercise, a book lending system. The functions that need to be implemented are:

  • Determine whether the user needs to borrow a book

  • When the user chooses to borrow a book, the book list is displayed

  • The book list includes the book serial number, book name, borrowing price, and author

  • The user selects the number of books to borrow, and selects the corresponding book and the number of borrowing days

  • Calculate the amount the user needs to pay

Book.java

package com.imooc;/**
 * 图书类 包含图书序号 名称 价格
 * */public class Book {
    private int id;    private String name;    private double price;    private String author;    public Book(int id, String name, double price, String author) {        // TODO Auto-generated constructor stub
        this.id = id;        this.setName(name);        this.price = price;        this.author = author;
    }    public void setId(int id) {        this.id = id;
    }    public int getId() {        return id;
    }    public void setPrice(double price) {        this.price = price;
    }    public double getPrice() {        return price;
    }    public void setAuthor(String author) {        this.author = author;
    }    public String getAuthor() {        return author;
    }    public void setName(String name) {        this.name = name;
    }    public String getName() {        return name;
    }

}
Copy after login

BorrowBooks.java

package com.imooc;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class BorrowBooks {    /**
     * @param args
     */
    public static void main(String[] args) {        // TODO Auto-generated method stub
        System.out.println("~~~~~~~欢迎使用图书借阅系统~~~~~~~~ ");
        System.out.println("您是否要借书:1.是 >> 点击其他键退出");
        BorrowBooks test = new BorrowBooks();        while (test.test1()) {
            System.out.println(">>>您可选择图书及其价目表:");
            System.out.println("-------------------------------------------");
            Book[] books = { new Book(0, "红楼梦", 12, "曹雪芹"),                    new Book(1, "西游记", 12, "吴承恩"),                    new Book(2, "汉乡", 12, "孑与2"),                    new Book(3, "大魏宫廷", 12, "贱宗首席"),                    new Book(4, "三国演义", 12, "罗贯中"),                    new Book(5, "水浒传", 12, "施耐庵") };
            System.out.println("序号" + "  " + "\t" + "书名" + "     " + "\t"
                    + "租金" + "      " + "\t" + "作者");            for (Book book : books) {                if (book.getClass().equals(Book.class)) {
                    System.out.println(book.getId() + "\t" + "\t"
                            + book.getName() + "\t" + "\t" + book.getPrice()
                            + "/天" + "\t" + "\t" + book.getAuthor() + "/著");
                }
            }
            System.out.println("-------------------------------------------");
            System.out.println("-->请输入你要借书的数量:");
            Scanner zScanner = new Scanner(System.in);            int BookNum = zScanner.nextInt();            if (BookNum > 0) {
                List<Book> bookList = new ArrayList<Book>();                int add = 0;                int bookPrice = 0;                for (int i = 0; i < BookNum; i++) {
                    System.out.println(">>请输入第" + (i + 1) + "本书的序号:");                    int num = zScanner.nextInt();                    try {
                        bookList.add(books[num]);
                        System.out.println("----成功添加:"
                                + bookList.get(add).getName());                        if (books[num].getClass().equals(Book.class)) {
                            bookPrice += ((Book) bookList.get(add)).getPrice();
                        }
                        add++;
                    } catch (Exception e) {                        // TODO: handle exception
                        System.out.println("您输入的图书序号不正确");
                        i = i - 1;
                        BookNum = BookNum;
                    }

                }
                System.out.println("->请输入借阅的天数:");
                Scanner g = new Scanner(System.in);                int bookDay = g.nextInt();
                bookPrice = bookPrice * bookDay;
                System.out.println("------------借阅选书完成------------" + "\n"
                        + "下面开始统计数据..........");
                System.out.print("您借阅的图书" + BookNum + "本:" + " ");                for (Book book : bookList) {
                    System.out.println(book.getName() + " " + "\n");
                }
                System.out.println();
                System.out.println("共租用:" + bookDay + " 天");
                System.out.println("需要付款:" + bookPrice + " 元");
                System.out.println("->请输入付款金额:");
                System.out.println("------------");
                Scanner x = new Scanner(System.in);                 int priceSpread = bookPrice - x.nextInt();//定义差价
                 while (bookPrice != x.nextInt())

                 System.out.println("------------" + "\n" + "输入错误,请重新输入金额!");                /*
                 while (bookPrice != x.nextInt())
                 {
                 if (bookPrice > x.nextInt()) {
             int priceSpread = bookPrice - x.nextInt();//定义差价
                 System.out.println("------------" + "\n" + "您已付款"
             + x.nextInt() + "元,还需支付" + priceSpread + "元");
                 }

             if (bookPrice <x.nextInt()) {
                 int priceSpread = x.nextInt()-bookPrice ;//定义差价
             System.out.println("------------" + "\n" + "您已付款"
             + x.nextInt() + "元,找您" + priceSpread + "元");
             }
*/
                System.out.println("------------");
                System.out.println("              交易成功!");
                System.out.println();
                System.out.println("------------感谢您的使用--------------");
                System.out.println("………………继续借书请按1,退出请按其他键………………");
            } else {
                System.out.println("您输入的借书数量为“0”,自动为您退出系统");
                System.exit(0);
            }

        }

    }    private static Object bookPrice(int nextInt) {        // TODO Auto-generated method stub
        return null;
    }    // 捕获输入参数不正确异常
    public boolean test1() {        try {
            Scanner z = new Scanner(System.in);            if (z.nextInt() == 1) {                return true;
            } else {                return false;
            }
        } catch (Exception e1) {            return false;
        }
    }
}
Copy after login

Running renderings

Java practical sharing—the operating effects and existing problems of the book lending system

##There is a problem

In the BorrowBooks.java class, the following code is intended to determine whether the amount entered by the user is consistent with the amount payable, and give a different reply if it is inconsistent. However, I have tried many methods, but none of them have been implemented. I still know too little. :

     while (bookPrice != x.nextInt())
                 {                 if (bookPrice > x.nextInt()) {                 int priceSpread = bookPrice - x.nextInt();//定义差价
                 System.out.println("------------" + "\n" + "您已付款"
                 + x.nextInt() + "元,还需支付" + priceSpread + "元");
                 }                 if (bookPrice <x.nextInt()) {                 int priceSpread = x.nextInt()-bookPrice ;//定义差价
             System.out.println("------------" + "\n" + "您已付款"
             + x.nextInt() + "元,找您" + priceSpread + "元");
                 }
                 }
Copy after login
Related articles:

Detailed explanation of the steps to simulate the book borrowing system using Java exception mechanism

As a newbie to the library system, I have a question Related questions

The above is the detailed content of Java practical sharing—the operating effects and existing problems of the book lending system. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

See all articles