Java实现图书借阅系统

今天这个是一个Java小练习,一个图书借阅系统,需要实现的功能有:

  • 判断用户是否需要进行借书
  • 在用户选择借书时,展示出图书列表
  • 图书列表包含 图书序号、图书名称、借阅价格、作者
  • 用户选择借书数量、并选择对应图书、借阅天数
  • 计算出用户需支付金额
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 stubthis.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 stubSystem.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 bookList = new ArrayList(); 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 exceptionSystem.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
运行效果图
Java实现图书借阅系统
文章图片

存在问题
【Java实现图书借阅系统】在BorrowBooks.java这个Class中,下面这段代码本想实现判断用户输入的金额是否和应付金额一致,不一致时给出不同的回复,但是自己试了好多种方法,都没有实现,还是自己懂得太少:
while (bookPrice != x.nextInt()){if (bookPrice > x.nextInt()) {int priceSpread = bookPrice - x.nextInt(); //定义差价System.out.println("------------" + "\n" + "您已付款"+ x.nextInt() + "元,还需支付" + priceSpread + "元"); }if (bookPrice
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读