


Java practical sharing—the operating effects and existing problems of the book lending system
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; } }
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; } } }
Running renderings
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 + "元"); } }
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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

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

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

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.

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 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 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

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.
