java简单的借书系统

Python015

java简单的借书系统,第1张

HashMap的常用方法

map的存储和修改方式 map.put(key, value)

map是否包含某个元素map.containsKey(key)

map某个key的value值map.get(key)

参考代码

import java.util.HashMap

public 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

额,你问题太抽象了,不知道你想问什么。

如果你是想让程序控制的话可以试试下面两种方式:

1、在读者借书信息中创建一个长度为5的字符串数组,在每次借书前判断数组中空串的个数如果没有空串,说明已经借了5本了,拒绝操作。

2、如果上面的条件通过了,每次借书的时候将数组中空串改为书名。

不过上面那个方法貌似不是面向对象的,更改如下:

创建一个借书类:

public class BorrowBooks{

private String[] books

private int top

public BorrowBooks(){

books = new String[5]{"","","","",""}

top = 0

}

public borrow(String bookName){

if(top==5){

System.out.println(已经达到借书上限)

return

}else{

books[top] = bookName

top++

}

}

public return(String name){

String[] newBooks = new String[5]

for(int i=0,j=0i<topi++){

if(books[i].equals(name)){

books[i] = ""

top--

}

if(books[i]!=""){

newBooks[j]=books[i]

j++

}

}

books = newBooks

}

}

当你要借书的时候就得到这个读者的借书对象,然后通过这个类来进行borrow和return操作。

正在看的两本:

1.Introduction to Java Programming

by Y.Daniel Liang

中译本叫着《java编程原理与实践》,译者是马海军、 景丽 清华大学出版社

2.Data Abstraction and Problem Solving With Java

by Frank M.Carrano &Janet J.Prichard

中译本叫《数据抽象和问题求解--java语言描述》, 译者是韩志宏 清华大学出版社