欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年03月11日 08:09:45   作者:Markrce  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖書借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天這個(gè)是一個(gè)Java小練習(xí),一個(gè)圖書借閱系統(tǒng),需要實(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, "三國(guó)演義", 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"
? ? ? ? ? ? ? ? ? ? ? ? + "下面開(kāi)始統(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)行效果圖

存在問(wèn)題

在BorrowBooks.java這個(gè)Class中,下面這段代碼本想實(shí)現(xiàn)判斷用戶輸入的金額是否和應(yīng)付金額一致,不一致時(shí)給出不同的回復(fù),但是自己試了好多種方法,都沒(méi)有實(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 + "元");
? ? ? ? }
? ? ? ? }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring mvc rest 接口選擇性加密解密詳情

    spring mvc rest 接口選擇性加密解密詳情

    這篇文章主要介紹了spring mvc rest 接口選擇性加密解密詳情,spring mvc rest接口以前是采用https加密的,但是現(xiàn)在需要更加安全的加密。而且不是對(duì)所有的接口進(jìn)行加密,是對(duì)部分接口進(jìn)行加密,接口返回值進(jìn)行解密
    2022-07-07
  • Kotlin基礎(chǔ)教程之函數(shù)定義與變量聲明

    Kotlin基礎(chǔ)教程之函數(shù)定義與變量聲明

    這篇文章主要介紹了Kotlin基礎(chǔ)教程之函數(shù)定義與變量聲明的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java中對(duì)象?和?json?互轉(zhuǎn)四種方式?json-lib、Gson、FastJson、Jackson

    Java中對(duì)象?和?json?互轉(zhuǎn)四種方式?json-lib、Gson、FastJson、Jackson

    這篇文章主要介紹了Java中對(duì)象?和?json?互轉(zhuǎn)?四種方式?json-lib、Gson、FastJson、Jackson,需要的朋友可以參考下
    2023-11-11
  • 詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    這篇文章主要介紹了詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 深入理解Java定時(shí)調(diào)度(Timer)機(jī)制

    深入理解Java定時(shí)調(diào)度(Timer)機(jī)制

    這篇文章主要介紹了深入理解Java定時(shí)調(diào)度(Timer)機(jī)制,本節(jié)我們主要分析 Timer 的功能。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Spring中@Service注解的作用與@Controller和@RestController之間區(qū)別

    Spring中@Service注解的作用與@Controller和@RestController之間區(qū)別

    這篇文章主要介紹了Spring中@Service注解的作用與@Controller和@RestController之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式

    MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式

    這篇文章主要介紹了MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java自動(dòng)添加重寫的toString方法詳解

    Java自動(dòng)添加重寫的toString方法詳解

    在本篇文章里小編給大家整理了關(guān)于Java自動(dòng)添加重寫的toString方法總結(jié),需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • java中Servlet監(jiān)聽(tīng)器的工作原理及示例詳解

    java中Servlet監(jiān)聽(tīng)器的工作原理及示例詳解

    這篇文章主要介紹了java中Servlet監(jiān)聽(tīng)器的工作原理及示例詳解。Servlet監(jiān)聽(tīng)器用于監(jiān)聽(tīng)一些重要事件的發(fā)生,監(jiān)聽(tīng)器對(duì)象可以在事情發(fā)生前、發(fā)生后可以做一些必要的處理。感興趣的可以來(lái)了解一下
    2020-07-07
  • 老生常談Java?網(wǎng)絡(luò)編程?——?Socket?詳解

    老生常談Java?網(wǎng)絡(luò)編程?——?Socket?詳解

    這篇文章主要介紹了Java?網(wǎng)絡(luò)編程?——?Socket?相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05

最新評(píng)論