用java编写一个 图书馆图书借阅管理系统

用java编写一个 图书馆图书借阅管理系统,第1张

---------------------------------------------------

给你修改了三个地方:

1.borrowBooks方法中,将System.out.println("你要借吗?")改为:

System.out.println("你要借吗?输入1表示借,其他数字表示不借。")

保证输入的时候输入的数字,否则会报出异常。

2.borrowBooks方法中,将self[score] = all[9]改为:self[score] = all[i]

如果是all[9],那么就始终是最后一本书籍信息了。

3.have方法中,你是想将所借的书籍信息都打印出来。修改的比较多,下面注释代码是原来的。

void have(Books[] self) {

// for (int i = 0i <2i++) {

// self[i].showBookInfo()

// }

for (int i = 0i <3i++) {

if(self[i]!=null)

self[i].showBookInfo()

}

}

****************** 附上所有代码:*************************

import java.util.Scanner

public class TestBook {

public static void main(String[] args) {

Books all[] = new Books[10]

Books self[] = new Books[3]

all[0] = new Books("java", 1, "12345", "tom", 34.0f, "人民出版社")

all[1] = new Books("c", 2, "12346", "tnn", 31.0f, "人民出版社")

all[2] = new Books("c++", 3, "12445", "mm", 35.0f, "人民出版社")

all[3] = new Books("c#", 4, "12365", "tt", 38.0f, "人民出版社")

all[4] = new Books("j2se", 5, "13345", "tosm", 31.1f, "人民出版社")

all[5] = new Books("j2ee", 6, "18345", "ttm", 32.0f, "人民出版社")

all[6] = new Books("jsp", 7, "12335", "cc", 33.0f, "人民出版社")

all[7] = new Books("net", 8, "12341", "bb", 36.0f, "人民出版社")

all[8] = new Books("ip", 9, "12343", "aa", 37.0f, "人民出版社")

all[9] = new Books("tcp", 10, "22345", "jj", 39.0f, "人民出版社")

Readers r = new Readers("xiaoming", 101, "1", 3)

r.searchAllBooks(all)

r.borrowBooks(all, self)

r.have(self)

r.give(all, self)

}

}

class Readers {

Scanner scan = new Scanner(System.in)

String names

int nums

String classes

int grade

int score = 0

// Books self[]=new Books[3]

Readers(String n, int u, String c, int g) {

names = n

nums = u

classes = c

grade = g

}

void searchAllBooks(Books[] all) {// 查书

for (int i = 0i <10i++)

all[i].showBookInfo()

// self[score]=all[0]

}

void give(Books[] all, Books[] self) {// 还书

System.out.println("请输入您要还的书的书号")

int n = scan.nextInt()

for (int i = 0i <10i++) {

if (n == all[i].num) {

for (int j = 0j <3j++) {

if (self[j] == all[i]) {

self[j] = null

System.out.println("还书成功")

}

}

}

}

}

void have(Books[] self) {

// for (int i = 0i <2i++) {

// self[i].showBookInfo()

// }

for (int i = 0i <3i++) {

if(self[i]!=null)

self[i].showBookInfo()

}

}

void giveMoney() {

}

void borrowBooks(Books[] all, Books[] self) {

System.out.println("请输入您要查找的书名:")

String n = scan.next()

int i

for (i = 0i <10i++) {

if (n.equals(all[i].name)) {

all[i].showBookInfo()

break

}

}

//System.out.println("你要借吗?")

System.out.println("你要借吗?输入1表示借,其他数字表示不借。")

int j

j = scan.nextInt()

if (j == 1) {

System.out.println("借阅成功")

//self[score] = all[9]

self[score] = all[i]

score += 1

}

if (score <4) {

System.out.println("您还可以借阅" + (3 - score) + "本")

} else {

System.out.println("对不起,一个人只能借3本")

}

}

}

class Books {

String name

int num

String ISBN

String writer

float price

String publisher

Books(String n, int u, String i, String w, float p, String l) {

name = n

num = u

ISBN = i

writer = w

price = p

publisher = l

}

void showBookInfo() {

System.out.println("**************************")

System.out.println("书名:" + name)

System.out.println("索书号:" + num)

System.out.println("ISBN号:" + ISBN)

System.out.println("价格:" + price)

System.out.println("出版社:" + publisher)

System.out.println("**************************")

}

}

----------------------------------------------------

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

package Management

import 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("还书成功")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12022720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存