java實(shí)現(xiàn)圖書檢索系統(tǒng)
java模擬實(shí)現(xiàn)圖書檢索系統(tǒng) (基礎(chǔ)版),供大家參考,具體內(nèi)容如下
練習(xí)實(shí)現(xiàn)3個簡單的功能,沒有優(yōu)化,可以根據(jù)需求,自行添加想要實(shí)現(xiàn)的功能。
Book.java
package com.demo3; public class Book { ? ? private int id; ? ? private String name; ? ? private double price; ? ? public Book(){} ? ? public Book(int id, String name, double price) { ? ? ? ? this.id = id; ? ? ? ? this.name = name; ? ? ? ? this.price = price; ? ? } ? ? public int getId() { ? ? ? ? return id; ? ? } ? ? public void setId(int id) { ? ? ? ? this.id = id; ? ? } ? ? public String getName() { ? ? ? ? return name; ? ? } ? ? public void setName(String name) { ? ? ? ? this.name = name; ? ? } ? ? public double getPrice() { ? ? ? ? return price; ? ? } ? ? public void setPrice(double price) { ? ? ? ? this.price = price; ? ? } ? ? public void showMess() { ? ? ? ? System.out.println("Book{" + ? ? ? ? ? ? ? ? "編號=" + getId() + ? ? ? ? ? ? ? ? ", 書名='" + getName() + ? ? ? ? ? ? ? ? ", 價(jià)格=" + getPrice() + ? ? ? ? ? ? ? ? '}'); ? ? } }
Tool.java
package com.demo3; import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import java.math.BigDecimal; import java.util.Arrays; public class Tools { ? ? private Book[] books = new Book[20]; ? ? private ?int size; ? ? public void init(){ ? ? ? ? Book book1 = new Book(1,"老人與海",29.8); ? ? ? ? Book book2 = new Book(2,"狂人日記",36.7); ? ? ? ? Book book3 = new Book(3,"玫瑰的葬禮",19.2); ? ? ? ? Book book4 = new Book(4,"宇宙源頭",19.2); ? ? ? ? books[0]=book1; ? ? ? ? books[1]=book2; ? ? ? ? books[2]=book3; ? ? ? ? books[3]=book4; ? ? ? ? size=4; ? ? } ? ? public Book[] getBooks() { ? ? ? ? return books; ? ? } ? ? public void setSize(int size) { ? ? ? ? this.size = size; ? ? } ? ? /*根據(jù)編號查詢圖書*/ ? ? public void fingBookById(Book[] books,int id){ ? ? ? ? int i=0; ? ? ? ? while(i<size){ ? ? ? ? ? ? if(books[i].getId()== id){ ? ? ? ? ? ? ? ? System.out.println("檢索信息: "); ? ? ? ? ? ? ? ? System.out.println("-------------------Content----------------------"); ? ? ? ? ? ? ? ? books[i].showMess(); ? ? ? ? ? ? ? ? System.out.println("------------------------------------------------"); ? ? ? ? ? ? ? ? ?break; ? ? ? ? ? ? } ? ? ? ? ? ? i++; ? ? ? ? } ? ? ? ? if(i>=size){ ? ? ? ? ? ? System.out.println("暫無信息"); ? ? ? ? } ? ? } ? ? /*根據(jù)價(jià)格查找圖書,返回一個新的數(shù)組*/ ? ? public Book[] findBookeByPrice(Book[] books,double price){ ? ? ? ? Book[] ?newBooks=new Book[books.length]; ? ? ? ? int length=0; ? ? ? ? int i=0; ? ? ? ? int j=0;/*注意,這里添加一個j*/ ? ? ? ? while(i<size){ ? ? ? ? ? ? /*提高精度,這里用到了BigDecimal類*/ ? ? ? ? ? ? BigDecimal x1 = new BigDecimal(books[i].getPrice()); ? ? ? ? ? ? BigDecimal x2 = new BigDecimal(price); ? ? ? ? ? ? if(x1.floatValue()==x2.floatValue()){ ? ? ? ? ? ? ? ? /*這里用到j(luò),而不是下標(biāo)i,如果是下標(biāo)i的話,則就會出現(xiàn)nullpointerexception異常,因?yàn)閕f程序體中的 i的取值不是連續(xù)的*/ ? ? ? ? ? ? ? ? newBooks[j++]= books[i]; ? ? ? ? ? ? ? ? length++; ? ? ? ? ? ? } ? ? ? ? ? ? i++; ? ? ? ? } ? ? ? ? /*這里用到了Array集合類中的copyRange靜態(tài)方法*/ ? ? ? ? newBooks= Arrays.copyOfRange(newBooks,0,length); ? ? ? ? return newBooks; ? ? } }
BookTest.java
package com.demo3; import java.util.Scanner; public class BookTest { ? ? public static void main(String[] args) { ? ? ? ? Scanner scanner = new Scanner(System.in); ? ? ? ? /*創(chuàng)建工具類,對其進(jìn)行初始化*/ ? ? ? ? Tools tool = new Tools(); ? ? ? ? tool.init(); ? ? ? ?prof: while(true) { ? ? ? ? ? ? System.out.println("========圖書檢索系統(tǒng)======="); ? ? ? ? ? ? System.out.println("1,【編號檢索】 ?2,【價(jià)格檢索】 3,【退出】"); ? ? ? ? ? ? System.out.print("【輸入檢索【類型】: "); ? ? ? ? ? ? int num = scanner.nextInt(); ? ? ? ? ? ? while (true) { ? ? ? ? ? ? ? ? switch (num) { ? ? ? ? ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("進(jìn)入圖書【編號】檢索:"); ? ? ? ? ? ? ? ? ? ? ? ? System.out.print("輸入檢索【編號】: "); ? ? ? ? ? ? ? ? ? ? ? ? int checkId = scanner.nextInt(); ? ? ? ? ? ? ? ? ? ? ? ? tool.fingBookById(tool.getBooks(), checkId);break; ? ? ? ? ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("進(jìn)入圖書【價(jià)格】檢索"); ? ? ? ? ? ? ? ? ? ? ? ? System.out.print("輸入檢索【價(jià)格】:"); ? ? ? ? ? ? ? ? ? ? ? ? double price = scanner.nextDouble(); ? ? ? ? ? ? ? ? ? ? ? ? Book[] books = tool.findBookeByPrice(tool.getBooks(),price); ? ? ? ? ? ? ? ? ? ? ? ? if(books.length>0){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("-------------------Content----------------------"); ? ? ? ? ? ? ? ? ? ? ? ? ? ?for(Book book :books){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?book.showMess(); ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("------------------------------------------------"); ? ? ? ? ? ? ? ? ? ? ? ? };break; ? ? ? ? ? ? ? ? ? ? case ?3: ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("退出成功"); ? ? ? ? ? ? ? ? ? ? ? ? ?break prof; ? ? ? ? ? ? ? ? }; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? } }
程序執(zhí)行如下:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 圖書管理系統(tǒng)java代碼實(shí)現(xiàn)
- 圖書管理系統(tǒng)java版
- 一個簡陋的java圖書管理系統(tǒng)
- java實(shí)現(xiàn)圖書館管理系統(tǒng)
- Java+MySQL實(shí)現(xiàn)圖書管理系統(tǒng)(完整代碼)
- java實(shí)現(xiàn)簡單的圖書管理系統(tǒng)
- JAVA初級項(xiàng)目——實(shí)現(xiàn)圖書管理系統(tǒng)
- java控制臺輸出圖書館管理系統(tǒng)
- java+mysql實(shí)現(xiàn)圖書館管理系統(tǒng)實(shí)戰(zhàn)
- java實(shí)現(xiàn)圖書管理系統(tǒng)
相關(guān)文章
springboot實(shí)現(xiàn)定時(shí)任務(wù)的四種方式小結(jié)
本文主要介紹了springboot實(shí)現(xiàn)定時(shí)任務(wù)的四種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01如何基于Jenkins構(gòu)建Jmeter項(xiàng)目
這篇文章主要介紹了如何基于Jenkins構(gòu)建Jmeter項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09SSM框架中測試單元的使用 spring整合Junit過程詳解
這篇文章主要介紹了SSM框架中測試單元的使用 spring整合Junit過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09SpringMVC 通過commons-fileupload實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了SpringMVC 通過commons-fileupload實(shí)現(xiàn)文件上傳,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02深入淺出講解Spring框架中依賴注入與控制反轉(zhuǎn)及應(yīng)用
依賴注入(Dependency?Injection)和控制反轉(zhuǎn)(Inversion?of?Control)是同一個概念。具體含義是:當(dāng)某個角色(可能是一個Java實(shí)例,調(diào)用者)需要另一個角色(另一個Java實(shí)例,被調(diào)用者)的協(xié)助時(shí),在?傳統(tǒng)的程序設(shè)計(jì)過程中,通常由調(diào)用者來創(chuàng)建被調(diào)用者的實(shí)例2022-03-03