Home > Java > javaTutorial > How to implement a book retrieval system in java

How to implement a book retrieval system in java

王林
Release: 2023-04-17 21:46:01
forward
1286 people have browsed it

Practice implementing 3 simple functions without optimization. You can add the functions you want to implement according to your needs.

How to implement a book retrieval system in java

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() +
                '}');
    }
}
Copy after login

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

    /*根据编号查询图书*/
    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("暂无信息");
        }
    }

    /*根据价格查找图书,返回一个新的数组*/
    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的话,则就会出现nullpointerexception异常,因为if程序体中的 i的取值不是连续的*/
                newBooks[j++]= books[i];
                length++;
            }
            i++;
        }

        /*这里用到了Array集合类中的copyRange静态方法*/
        newBooks= Arrays.copyOfRange(newBooks,0,length);
        return newBooks;
    }
}
Copy after login

BookTest.java

package com.demo3;

import java.util.Scanner;

public class BookTest {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        /*创建工具类,对其进行初始化*/
        Tools tool = new Tools();
        tool.init();

       prof: while(true) {
            System.out.println("========图书检索系统=======");
            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;
            }
        }
    }
}
Copy after login

The program execution is as follows:

How to implement a book retrieval system in java

The above is the detailed content of How to implement a book retrieval system in java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Kann Java als Backend des Webs verwendet werden?
From 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
From 1970-01-01 08:00:00
0
0
0
Pasang JAVA
From 1970-01-01 08:00:00
0
0
0
Impossible d'installer Java
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template