检索图书java程序,Java实现图书管理系统
爪哇岛模拟实现图书检索系统(基础版),供大家参考,具体内容如下
练习实现3个简单的功能,没有优化,可以根据需求,自行添加想要实现的功能。
Book.java
包com . demo 3 public class Book { private int id私有字符串名称;私人双倍价格;public Book(){} public Book(int id,String name,double price){ this。id=idthis.name=namethis.price=价格;} public int getId(){ return id;} public void setId(int id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} public double getPrice(){ return price;}公共void设置价格(双倍价格){ this。价格=价格;} public void show mess(){ system。出去。println( Book { )编号= getId(),书名= getName(),价格= getPrice() } );} }工具.爪哇岛
包com导入com。星期日场景。效果。impl。西南。上证所。SSE blend _ SRC _ OUTPeer导入Java。数学。bigdecimal导入Java。util。数组;公共课工具{私人书籍[]书籍=新书[20];私有(同Internationalorganizations)国际组织大小;public void init(){ Book book1=新书(1,老人与海,29.8);书籍书籍2=新书(2,狂人日记,36.7);书籍书籍3=新书(3,玫瑰的葬礼,19.2);书籍书籍4=新书(4,宇宙源头,19.2);books[0]=book1;书籍[1]=书籍2;书籍[2]=书籍3;书籍[3]=书籍4;大小=4;} public Book[]get books(){ return books;} public void setSize(int size){ this。尺寸=大小;} /*根据编号查询图书*/public void fingBookById(Book[]books,int id){ int I=0;while(isize){ if(books[i].getId()==id){ system。出去。println(检索信息: );系统。出去。println(-Content-);书[我]。show mess();系统。出去。println(-);打破;}我;} 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; }}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; } } }}
程序执行如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。