溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)

發(fā)布時(shí)間:2022-03-11 09:52:41 來源:億速云 閱讀:187 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)”,在日常操作中,相信很多人在怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

需要實(shí)現(xiàn)的功能有:

  • 判斷用戶是否需要進(jìn)行借書

  • 在用戶選擇借書時(shí),展示出圖書列表

  • 圖書列表包含 圖書序號(hào)、圖書名稱、借閱價(jià)格、作者

  • 用戶選擇借書數(shù)量、并選擇對(duì)應(yīng)圖書、借閱天數(shù)

  • 計(jì)算出用戶需支付金額

Book.java

package com.imooc;

/**
 * 圖書類 包含圖書序號(hào) 名稱 價(jià)格
 * */

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("~~~~~~~歡迎使用圖書借閱系統(tǒng)~~~~~~~~ ");
        System.out.println("您是否要借書:1.是 >> 點(diǎn)擊其他鍵退出");
        BorrowBooks test = new BorrowBooks();
        while (test.test1()) {
            System.out.println(">>>您可選擇圖書及其價(jià)目表:");
            System.out.println("-------------------------------------------");
            Book[] books = { new Book(0, "紅樓夢(mèng)", 12, "曹雪芹"),
                    new Book(1, "西游記", 12, "吳承恩"),
                    new Book(2, "漢鄉(xiāng)", 12, "孑與2"),
                    new Book(3, "大魏宮廷", 12, "賤宗首席"),
                    new Book(4, "三國演義", 12, "羅貫中"),
                    new Book(5, "水滸傳", 12, "施耐庵") };
            System.out.println("序號(hào)" + "  " + "\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("-->請(qǐng)輸入你要借書的數(shù)量:");
            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(">>請(qǐng)輸入第" + (i + 1) + "本書的序號(hào):");
                    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("您輸入的圖書序號(hào)不正確");
                        i = i - 1;
                        BookNum = BookNum;
                    }

                }
                System.out.println("->請(qǐng)輸入借閱的天數(shù):");
                Scanner g = new Scanner(System.in);
                int bookDay = g.nextInt();
                bookPrice = bookPrice * bookDay;
                System.out.println("------------借閱選書完成------------" + "\n"
                        + "下面開始統(tǒng)計(jì)數(shù)據(jù)..........");
                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("->請(qǐng)輸入付款金額:");
                System.out.println("------------");
                Scanner x = new Scanner(System.in);
                 int priceSpread = bookPrice - x.nextInt();//定義差價(jià)
                 while (bookPrice != x.nextInt())

                 System.out.println("------------" + "\n" + "輸入錯(cuò)誤,請(qǐng)重新輸入金額!");


                /*
                 while (bookPrice != x.nextInt())
                 {
                 if (bookPrice > x.nextInt()) {
             int priceSpread = bookPrice - x.nextInt();//定義差價(jià)
                 System.out.println("------------" + "\n" + "您已付款"
             + x.nextInt() + "元,還需支付" + priceSpread + "元");
                 }

             if (bookPrice <x.nextInt()) {
                 int priceSpread = x.nextInt()-bookPrice ;//定義差價(jià)
             System.out.println("------------" + "\n" + "您已付款"
             + x.nextInt() + "元,找您" + priceSpread + "元");
             }
*/
                System.out.println("------------");
                System.out.println("              交易成功!");
                System.out.println();
                System.out.println("------------感謝您的使用--------------");
                System.out.println("………………繼續(xù)借書請(qǐng)按1,退出請(qǐng)按其他鍵………………");
            } else {
                System.out.println("您輸入的借書數(shù)量為“0”,自動(dòng)為您退出系統(tǒng)");
                System.exit(0);
            }

        }

    }

    private static Object bookPrice(int nextInt) {
        // TODO Auto-generated method stub
        return null;
    }

    // 捕獲輸入?yún)?shù)不正確異常
    public boolean test1() {
        try {
            Scanner z = new Scanner(System.in);
            if (z.nextInt() == 1) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e1) {
            return false;
        }
    }
}

運(yùn)行效果圖

怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)

存在問題

在BorrowBooks.java這個(gè)Class中,下面這段代碼本想實(shí)現(xiàn)判斷用戶輸入的金額是否和應(yīng)付金額一致,不一致時(shí)給出不同的回復(fù),但是自己試了好多種方法,都沒有實(shí)現(xiàn),還是自己懂得太少:

while (bookPrice != x.nextInt())
       {
        if (bookPrice > x.nextInt()) {
        int priceSpread = bookPrice - x.nextInt();//定義差價(jià)
        System.out.println("------------" + "\n" + "您已付款"
        + x.nextInt() + "元,還需支付" + priceSpread + "元");
        }

        if (bookPrice <x.nextInt()) {
        int priceSpread = x.nextInt()-bookPrice ;//定義差價(jià)
        System.out.println("------------" + "\n" + "您已付款"
        + x.nextInt() + "元,找您" + priceSpread + "元");
        }
        }

到此,關(guān)于“怎么用Java實(shí)現(xiàn)圖書借閱系統(tǒng)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI