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

运行效果图

存在问题

在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 <x.nextInt()) {
        int priceSpread = x.nextInt()-bookPrice ;//定义差价
        System.out.println("------------" + "\n" + "您已付款"
        + x.nextInt() + "元,找您" + priceSpread + "元");
        }
        }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 基于Java SSM框架开发图书借阅系统源代码

    一.技术框架与开发环境 开发环境: IDE:IDEA 2020 数据库:MySQL 8.0 JDK 1.8 Maven 3.6.1 Tomcat 9 lombok 1.18.1 技术框架: 核心框架:Spring 5.1.9 持久层框架:Mybatis 3.5.2 视图层框架:SpringMVC 5.1.9 前端框架:Bootstrap 4 jquery-3.6.0 二.项目源码 有用就点赞博客 Github 国内:Giee 项目结构 三.功能介绍 1.登录 2.注册 AJAX异步刷新显示判断账

  • Java实现图书借阅系统

    今天这个是一个Java小练习,一个图书借阅系统,需要实现的功能有: 判断用户是否需要进行借书 在用户选择借书时,展示出图书列表 图书列表包含 图书序号.图书名称.借阅价格.作者 用户选择借书数量.并选择对应图书.借阅天数 计算出用户需支付金额 Book.java package com.imooc; /**  * 图书类 包含图书序号 名称 价格  * */ public class Book {     private int id;     private String name;    

  • Java实现简单图书借阅系统

    本文实例为大家分享了Java实现图书借阅系统的具体代码,供大家参考,具体内容如下 为图书阅览室开发一个图书借阅系统,最多可存50本图书,实现图书的管理.图书借阅系统具备以下主要功能. u功能 Ø借出排行榜 Ø新增图书 Ø查看图书 Ø删除图书 Ø借出图书 Ø归还图书 Ø退出 package com.daiinfo.seninorjava.ken8.implentment.utils; import java.text.SimpleDateFormat; import java.util.Calen

  • java实现简单的图书借阅系统

    本文实例为大家分享了java实现简单图书借阅系统的具体代码,供大家参考,具体内容如下 直接看代码: package ttt; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet

  • Java实现图书馆借阅系统

    本文实例为大家分享了Java实现图书馆借阅系统的具体代码,供大家参考,具体内容如下 Main.java package com.src1.booksystem; import com.src1.booksystem.booklist.BookList; import com.src1.booksystem.users.AdminUser; import com.src1.booksystem.users.NormalUser; import com.src1.booksystem.users.U

  • C语言图书借阅系统源码

    本文实例为大家分享了C语言图书借阅系统的具体代码,供大家参考,具体内容如下 #include "stdafx.h" #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" int N; char mima[20]="mm"; /**********定义图书结构体类型book*******/ str

  • python实现图书借阅系统

    本文实例为大家分享了python实现图书借阅系统的具体代码,供大家参考,具体内容如下 部分代码: from flask import Flask,render_template from flask import request from DB import createdb from flask import session app = Flask(__name__) app.config['SECRET_KEY'] = '123456' # 首页-->登录页面 @app.route('/')

  • Python连接Mysql实现图书借阅系统

    相信大家在学习python编程时绝对离不开数据库的连接,那么我们就用python来连接数据库实现一个简单的图书借阅系统.其实也很简单,就是在我们的程序中加入sql语句即可 数据库的表结构 我们在这里需要三张表,一张用户表,一张图书表和一张借阅表.注意我们的数据库命名为bbs(book borrow system) 1.用户表 2.图书表 bookname:书名author:作者booknum:图书编号bookpress:出版社bookamoun:图书数量 3.借阅表 id:借阅号borrowna

  • C语言数据结构之图书借阅系统

    本文实例为大家分享了C语言实现图书借阅系统的具体代码,供大家参考,具体内容如下 /*****************************   @title: 数据结构实验   @name: <实验2-1> 线性表(顺序表)的应用--我的图书馆   @object:       [实验目的]           应用线性表解决问题.           有若干图书,借出的书需要登记下来.            用两个线性表分别保存现有图书和借书信息,           并实现增加新书,借书

  • Java实现简易图书借阅系统

    在简单学习Java的基础知识点后,动手做了一个十分简陋的图书馆借阅系统,作为对所学知识的综合应用,有不足的地方希望大家多多评论,会积极进行改正. 1.先附上总的效果 一开始的登录界面 登录界面 注册界面 登录进去后的个人主页 (本来想在上方插入一张图片,但是刚学swing部分,搞不懂图片的插入方式,搞了很久还是没懂,就暂时放下了) 借书页面 输入关键词后搜索的结果 还书界面,点击自动显示未还书籍 查询未还书籍的具体信息 2.贴上源代码 1).这里简单说一下与数据库的操作,注册用户时在表perso

随机推荐