600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 图书管理系统(借还图书)--Java实现(附源码)

图书管理系统(借还图书)--Java实现(附源码)

时间:2024-07-08 03:26:56

相关推荐

图书管理系统(借还图书)--Java实现(附源码)

目录

图书管理系统权限

图书管理系统程序框图

图书管理系统架构

管理员执行流程

学生执行流程

详细代码

源码获取

毕设专栏

图书管理系统权限

管理员:具有 1、查找图书 2、增加图书 3、删除图书 4、显示图书 等功能学生:具有 1、查找图书 2、借阅图书 3、归还图书 4、显示图书 等功能

图书管理系统程序框图

图书管理系统架构

管理员执行流程

学生执行流程

详细代码

Book

package book;public class Book {/*一本书的属性包括书名,作者,价格,类型,编号,以及状态*/private String name;private String author;private int price;private String type;private int num;private boolean status;//提供构造方法public Book(String name, String author, int price, String type, int num) {this.name = name;this.author = author;this.price = price;this.type = type;this.num = num;}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;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public String getType() {return type;}public void setType(String type) {this.type = type;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public boolean isStatus() {return status;}public void setStatus(boolean status) {this.status = status;}//toString 方法打印@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", author='" + author + '\'' +", price=" + price +", type='" + type + '\'' +", num=" + num +((status == true) ? " 已借出 " : " 未借出 ") +'}';}}

BookList

package book;public class BookList {//书都是同一类型的元素,创建一个Book类型的数组private Book[] books;private int size;//先给书架放三本书public BookList() {this.books = new Book[10];books[0] = new Book("狂人日记","鲁迅",10,"小说",1);books[1] = new Book("将进酒","李白",23,"诗",3);books[2] = new Book("清明上河图","张择端",20,"书法",2);this.size = 3;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}public void setBooks(int pos, Book book) {this.books[pos] = book;}public Book getBook(int pos) {return this.books[pos];}}

AddOperation

package operation;import book.Book;import book.BookList;import java.util.Scanner;public class AddOperation implements IOperation {@Overridepublic void work(BookList bl) {Scanner sc = new Scanner(System.in);System.out.println("添加图书");System.out.println("请输入图书的名字:");String name = sc.nextLine();System.out.println("请输入图书的作者:");String author = sc.nextLine();System.out.println("请输入图书价格:");int price = sc.nextInt();System.out.println("请输入图书的类型:");String type = sc.next();System.out.println("请输入图书的编号:");int num = sc.nextInt();Book book = new Book(name,author,price,type,num);int curSize = bl.getSize();//拿到长度bl.setBooks(curSize,book);bl.setSize(curSize+1);System.out.println("添加成功!");}}

BorrOperation

package operation;import book.Book;import book.BookList;import java.util.Scanner;public class BorrOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("借阅书籍");System.out.println("请输入需要借阅的书籍名字:");Scanner sc = new Scanner(System.in);String name = sc.nextLine();for (int i = 0; i < bl.getSize(); i++) {Book book = bl.getBook(i);if(book.getName().equals(name)) {System.out.println("请取走您要的书籍!");book.setStatus(true);System.out.println(book);return;}}System.out.println("没有你需要的书籍!");}}

DelOperation

package operation;import book.Book;import book.BookList;import java.util.Scanner;public class DelOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("删除图书");System.out.println("请输入需要删除的书籍名字:");Scanner sc = new Scanner(System.in);String name = sc.nextLine();int i = 0;for (; i < bl.getSize(); i++) {Book book = bl.getBook(i);if(book.getName().equals(name)){break;}}if(i >= bl.getSize()){System.out.println("没有找到此书籍");return;}int j = i;for(; j < bl.getSize() - 1; j++){Book book = bl.getBook(j + 1);bl.setBooks(j,book);}int cueSize = bl.getSize();bl.setSize(cueSize-1);System.out.println("成功删除此书籍!");}}

DisOperation

package operation;import book.Book;import book.BookList;public class DisOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("显示图书");for (int i = 0; i < bl.getSize(); i++) {Book book = bl.getBook(i);System.out.println(book);}}}

ExiOperation

package operation;import book.BookList;public class ExiOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("退出系统");System.exit(0);}}

Finoperation

package operation;import book.Book;import book.BookList;import java.util.Scanner;public class FinOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("查找书籍");Scanner sc = new Scanner(System.in);System.out.println("请输入要查找的书籍名字:");String name = sc.next();for (int i = 0; i < bl.getSize(); i++) {Book book = bl.getBook(i);if(book.getName().equals(name)){System.out.println("有此书籍!");System.out.println(book);return;}}System.out.println("未找的您需要的书籍!");}}

IOperation

package operation;import book.BookList;public interface IOperation {void work(BookList bl);}

RetOperation

package operation;import book.Book;import book.BookList;import java.util.Scanner;public class RetOperation implements IOperation{@Overridepublic void work(BookList bl) {System.out.println("归还图书");Scanner sc = new Scanner(System.in);System.out.println("请输入您要归还的书籍名字!");String name = sc.nextLine();for (int i = 0; i < bl.getSize(); i++) {Book book = bl.getBook(i);if(book.getName().equals(name)) {book.setStatus(false);System.out.println(book);return;}}}}

Administrator

package user;import operation.*;import java.util.Scanner;public class Administrator extends User{public Administrator(String name) {super(name);this.operation = new IOperation[]{new ExiOperation(),new FinOperation(),new AddOperation(),new DelOperation(),new DisOperation()};}@Overridepublic int menu() {System.out.println("欢迎" + this.name + "进入图书管理系统!");Scanner sc = new Scanner(System.in);System.out.println("=============");System.out.println("1.查找图书");System.out.println("2.增加图书");System.out.println("3.删除图书");System.out.println("4.显示图书");System.out.println("0.退出系统");System.out.println("=============");int choice = sc.nextInt();return choice;}}

Ordinary

package user;import operation.*;import java.util.Scanner;public class Ordinary extends User {public Ordinary(String name) {super(name);this.operation = new IOperation[]{new ExiOperation(),new FinOperation(),new BorrOperation(),new RetOperation(),new DisOperation()};}@Overridepublic int menu() {System.out.println("欢迎" + this.name + "同学进入图书管理系统!");Scanner sc = new Scanner(System.in);System.out.println("==============");System.out.println("1.查找图书");System.out.println("2.借阅图书");System.out.println("3.归还图书");System.out.println("4.显示图书");System.out.println("0.退出系统");System.out.println("==============");int choice = sc.nextInt();return choice;}}

User

package user;import book.BookList;import operation.IOperation;//抽象类,主要为了被继承public abstract class User {public String name;public IOperation[] operation;public User(String name) {this.name = name;}public abstract int menu();public void doOperation(int choice, BookList bl) {this.operation[choice].work(bl);}}

Main

import book.BookList;import user.Administrator;import user.Ordinary;import user.User;import java.util.Scanner;public class Main {public static User login() {Scanner sc = new Scanner(System.in);System.out.println("请输入姓名:");String name = sc.next();System.out.println("请确认您的身份:1 > 管理员 0 > 学生");int choice = sc.nextInt();if(choice == 1){return new Administrator(name);}else{return new Ordinary(name);}}public static void main(String[] args) {BookList bl = new BookList();//登录User user = login();//选择菜单while(true){int choice = user.menu();user.doOperation(choice,bl);}}}

以上为全部源码,有不太明白的同学可以去下载链接直接获取源码

源码获取

毕设专栏

/download/m0_54925305/86236726

/m0_54925305/category_11702151.html?spm=1001..3001.5482

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。