“Java任务:方法重载之查找商品”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“ == 任务描述:查找图书 == 用户有时需要根据不同的条件来查询图书,比如编号、书名、作者、分类等。项目goodsmanage_console…”)
(没有差异)

2018年3月23日 (五) 13:36的版本

任务描述:查找图书

用户有时需要根据不同的条件来查询图书,比如编号、书名、作者、分类等。项目goodsmanage_console中的BookDaoImpl类提供了查询图书的方法。类中已经提供了两个版本的queryBook()方法,分别用于查询所有图书和指定编号的图书。你的任务是再提供一个queryBook()方法,根据指定书名、作者或分类来查询图书。

任务实现

数据库查询的细节会在后面的任务详细讲解。这里使用测试数据演示方法重载功能。

package com.sict.gm.service;
import java.util.ArrayList;
import java.util.Arrays;
import com.sict.gm.entity.Book;
import com.sict.gm.entity.BookDataSet;

public class BookDaoImpl implements BookDao {
	/**
	 * 书籍数据集(包含书籍的相关测试数据)
	 */
	private BookDataSet bds = null;

	public BookDaoImpl() {
		bds = new BookDataSet();
	}

	@Override
	public Book queryBook(String id) {
		// 索取所有的书籍信息
		Book[] books = bds.getBooks();

		// 遍历所有的书籍信息
		for (Book book : books) {
			if (book.getBid().equals(id)) {
				return book;
			}
		}
		// 没有找到任何书籍信息抛出null
		return null;
	}

	@Override
	public Book[] queryBook() {
		return bds.getBooks();
	}

	@Override
	public ArrayList<Book> queryBook(String id, String author, String name, String categery) {
		ArrayList<Book> list = new ArrayList();
		// 索取所有的书籍信息
		Book[] books = bds.getBooks();

		// 遍历所有的书籍信息
		for (Book book : books) {
			if (book.getBid().indexOf(id) >= 0 && book.getAuthor().indexOf(author) >= 0 && book.getName().indexOf(name) >= 0
					&& book.getCategory().toString().indexOf(categery) >= 0) {
				list.add(book);
			}
		}

		return list;
	}
	
	public static void main(String[] args) {	
		BookDaoImpl dao = new BookDaoImpl();
		ArrayList<Book> list = dao.queryBook("", "", "", "");
		System.out.println(list);
		
		list = dao.queryBook("b01", "", "", "");
		System.out.println(list);
		
		list = dao.queryBook("", "", "三国演义", "");
		System.out.println(list);
	}
}

返回 Java程序设计