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

java實現(xiàn)圖書檢索系統(tǒng)

 更新時間:2022年05月27日 13:57:16   作者:JAVA_NO.1  
這篇文章主要為大家詳細介紹了java實現(xiàn)圖書檢索系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

java模擬實現(xiàn)圖書檢索系統(tǒng) (基礎版),供大家參考,具體內(nèi)容如下

練習實現(xiàn)3個簡單的功能,沒有優(yōu)化,可以根據(jù)需求,自行添加想要實現(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() +
? ? ? ? ? ? ? ? ", 價格=" + 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ù)價格查找圖書,返回一個新的數(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,而不是下標i,如果是下標i的話,則就會出現(xiàn)nullpointerexception異常,因為if程序體中的 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)建工具類,對其進行初始化*/
? ? ? ? Tools tool = new Tools();
? ? ? ? tool.init();

? ? ? ?prof: while(true) {
? ? ? ? ? ? System.out.println("========圖書檢索系統(tǒng)=======");
? ? ? ? ? ? System.out.println("1,【編號檢索】 ?2,【價格檢索】 3,【退出】");
? ? ? ? ? ? System.out.print("【輸入檢索【類型】: ");

? ? ? ? ? ? int num = scanner.nextInt();

? ? ? ? ? ? while (true) {

? ? ? ? ? ? ? ? switch (num) {
? ? ? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("進入圖書【編號】檢索:");
? ? ? ? ? ? ? ? ? ? ? ? System.out.print("輸入檢索【編號】: ");
? ? ? ? ? ? ? ? ? ? ? ? int checkId = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? ? ? tool.fingBookById(tool.getBooks(), checkId);break;

? ? ? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("進入圖書【價格】檢索");
? ? ? ? ? ? ? ? ? ? ? ? System.out.print("輸入檢索【價格】:");
? ? ? ? ? ? ? ? ? ? ? ? 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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • springboot實現(xiàn)定時任務的四種方式小結

    springboot實現(xiàn)定時任務的四種方式小結

    本文主要介紹了springboot實現(xiàn)定時任務的四種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Java中@Accessors注解的具體使用

    Java中@Accessors注解的具體使用

    @Accessors是Lombok提供的注解之一,用于自動生成getter和setter方法,本文主要介紹了@Accessors注解的常用屬性,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Java簡單模擬實現(xiàn)一個線程池

    Java簡單模擬實現(xiàn)一個線程池

    本文主要介紹了Java簡單模擬實現(xiàn)一個線程池,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • 如何基于Jenkins構建Jmeter項目

    如何基于Jenkins構建Jmeter項目

    這篇文章主要介紹了如何基于Jenkins構建Jmeter項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • SSM框架中測試單元的使用 spring整合Junit過程詳解

    SSM框架中測試單元的使用 spring整合Junit過程詳解

    這篇文章主要介紹了SSM框架中測試單元的使用 spring整合Junit過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • IDEA插件推薦之Maven-Helper的教程圖解

    IDEA插件推薦之Maven-Helper的教程圖解

    這篇文章主要介紹了IDEA插件推薦之Maven-Helper的相關知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2020-07-07
  • Java 如何使用@Autowired注解自動注入bean

    Java 如何使用@Autowired注解自動注入bean

    這篇文章主要介紹了Java 使用@Autowired注解自動注入bean的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java程序命令行參數(shù)用法總結

    Java程序命令行參數(shù)用法總結

    這篇文章主要介紹了Java程序命令行參數(shù)用法總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringMVC 通過commons-fileupload實現(xiàn)文件上傳功能

    SpringMVC 通過commons-fileupload實現(xiàn)文件上傳功能

    這篇文章主要介紹了SpringMVC 通過commons-fileupload實現(xiàn)文件上傳,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 深入淺出講解Spring框架中依賴注入與控制反轉及應用

    深入淺出講解Spring框架中依賴注入與控制反轉及應用

    依賴注入(Dependency?Injection)和控制反轉(Inversion?of?Control)是同一個概念。具體含義是:當某個角色(可能是一個Java實例,調用者)需要另一個角色(另一個Java實例,被調用者)的協(xié)助時,在?傳統(tǒng)的程序設計過程中,通常由調用者來創(chuàng)建被調用者的實例
    2022-03-03

最新評論