HashMap的常用方法
map的存储和修改方式 map.put(key, value)
map是否包含某个元素map.containsKey(key)
map某个key的value值map.get(key)
参考代码
import java.util.HashMappublic class BookTest {
static HashMap<String, Integer> map=new HashMap<String, Integer>()
static{//初始化图书信息
map.put("三国志", 8)
map.put("红楼梦", 0)
map.put("西游记", 15)
}
public static void main(String[] args) {//main方法
jieShu("水浒")
jieShu("三国志")
huanShu("三国志")
jieShu("红楼梦")
huanShu("红楼梦")
jieShu("红楼梦")
}
public static void jieShu(String name){//借书
if(!map.containsKey(name)){//查询图书馆是否有这本书
System.out.println("书籍:"+name+"\t查无此书!")
return
}
if(map.get(name)<=0){//查询图书数量是否为0
System.out.println("书籍:"+name+"\t已全部借出,请明日在来")
return
}
map.put(name, map.get(name)-1)
System.out.println("书籍:"+name+"\t借书成功。"+"\t库存:"+map.get(name))
}
public static void huanShu(String name){//还书
if(!map.containsKey(name)){
System.out.println("查无此书")
}else{
map.put(name, map.get(name)+1)
System.out.println("书籍:"+name+"\t还书成功。"+"\t库存:"+map.get(name))
}
}
}
测试输出
书籍:水浒 查无此书!书籍:三国志 借书成功。 库存:7
书籍:三国志 还书成功。 库存:8
书籍:红楼梦 已全部借出,请明日在来
书籍:红楼梦 还书成功。 库存:1
书籍:红楼梦 借书成功。 库存:0
给你提供大体思路:学生和老师都是User对象,User里面用一个字段(比如userType)来区别是老师还是学生。
借书的时候,先取得当前User,查出当前已经借书数量和userType的最大借书数量,以及当前要借书的数量,做判断,看是否能继续借书。
如果能,则读取当前userType对应的最长借书期限,做匹配。
只是个大体逻辑,其实还有很多细节,仅供参考, 有什么不懂的话私信我就行。
package Managementimport java.util.List
import java.util.ArrayList
public class Management {
public static List<Book> bookList=null
public Management() {
// TODO Auto-generated constructor stub
bookList=new ArrayList<Book>(100)
}
public void addbook(Book book)
{
bookList.add(book)
}
public Book[] findBook(String bookName)
{
Book [] book=new Book[100]
int j=0
for(int i=0i<bookList.size()i++)
{
if(bookName.equals(bookList.get(i).getName()))
{
book[j]=bookList.get(i)
j++
}
}
return book
}
public Book[] ShowAllBook()
{
Book[]book=new Book[100]
for(int i=0i<bookList.size()i++)
{
book[i]=bookList.get(i)
bookList.get(i).printInfo()
}
return book
}
}
class Book
{
private String name
private String author
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getAuthor() {
return author
}
public void setAuthor(String author) {
this.author = author
}
void printInfo()
{
System.out.println("书名为"+this.name+"作者为"+this.author)
}
}
class Reader
{
private String name
public void borrowbook(Book book) {
Management liabry=new Management()
for(int i=0i<liabry.bookList.size()i++)
{ if(book.getAuthor().equals(liabry.bookList.get(i).getAuthor())&&book.getName().equals(liabry.bookList.get(i).getName()))
{
liabry.bookList.remove(i)
System.out.println("借书成功!")
break
}
}
}
public void backbook(Book book) {
Management liabry=new Management()
liabry.addbook(book)
System.out.println("还书成功")
}
}