设计一个图书类Book,包括私有属性:编号,书名,价格,实现图书自动编号(图书自动编号)
设计一个工具类Tools,工具类中设计以下方法:
1)在一个图书数组中按编号查找图书,并将图书信息输出.
分析:
返回值:可以不要返回值
参数:需要两个.Book数组,编号
2)在一个图书数组中按几个查找图书,并将查找到的所有图书返回(注意考虑相同价格的图书,返回一个数组)
分析:
返回值:有 一个新数组(Book),是查询指定价格的图书
参数:需要两个,Book数组,价格
在主方法中创建一个图书数组,调用工具类的按编号查找图书,在调用按价格查找图书,在将所有查找到的图书信息输出
图书信息的输出格式:编号是xx,书名xxx,价格是xx
Book类:
package Book;
public class Book {
private int id=0;
private String bookName;
private double price;
private static int sum=1;
public Book() {
super();
}
//实现图书自动编号
public Book(String bookName,double price) {
this.id=sum;
sum++;
this.bookName=bookName;
this.price=price;
}
public Book(int id, String bookName, double price) {
super();
this.id = id;
this.bookName = bookName;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
//此方法暂时没用到 练习生成方法用
@Override
public String toString() {
return "编号是:" + getId() + ", 书名:" + getBookName() + ", 价格:" + getPrice();
}
}
Tools类:
package Book;
public class Tools {
//图书数组中按编号查找图书,并将图书信息输出.
public String search(Book[] books,int id) {
for (int i = 0; i < books.length; i++) {
if(books[i].getId()==id) {
return "编号是:" + books[i].getId() + ",书名:" + books[i].getBookName() + ", 价格:" + books[i].getPrice();
}
}
return "此编号暂时无图书,请重新输入";
}
//查找价格相同的书籍
public Book[] searchs(Book[] books,double price) {
Book[] xinBook=new Book[books.length];
for (int i = 0; i < books.length; i++) {
if (price==books[i].getPrice()) {
xinBook[i]=books[i];
}
}
return xinBook;
}
//遍历
public void bianLi(Book[] books) {
for (int i = 0; i < books.length; i++) {
System.out.println(books[i]);
}
}
}
BookTest类:
package Book;
import java.util.Scanner;
public class BookTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Tools tools=new Tools();
Book[] books=new Book[5];
books[0]=new Book("西游记", 45);
books[1]=new Book("红楼梦",40);
books[2]=new Book("三国演义",45);
books[3]=new Book("水浒传",30);
books[4]=new Book("名人传",50);
Scanner sc=new Scanner(System.in);
//按编号查找图书
System.out.println("请输入要查找的编号(编号格式为1--5)");
int id=sc.nextInt();
String string=tools.search(books, id);
System.out.println(string);
//按价格查找图书
System.out.println("请输入你要查询的价格");
double price=sc.nextDouble();
Book[] xinBooks=tools.searchs(books, price);
for (int i = 0; i < xinBooks.length; i++) {
if(xinBooks[i]!=null) {
System.out.println(xinBooks[i]);
}
}
}
}