java 图书管理系统
这是一个基于Java的图书管理系统,采用面向对象设计。系统包含用户和管理员两种角色,通过多态和接口实现不同操作功能。核心类包括Book(书籍信息)、Bookclass(书架管理)、user(抽象用户类)及其子类guanli(管理员)和putong(普通用户)。系统通过IA接口实现各类功能操作,包括查找、借阅、归还、新增、删除等。采用模块化设计,将不同功能封装为独立类,通过接口数组实现动态绑定。管理
这是一个基于Java的图书管理系统,采用面向对象设计。系统包含用户和管理员两种角色,通过多态和接口实现不同操作功能。核心类包括Book(书籍信息)、Bookclass(书架管理)、user(抽象用户类)及其子类guanli(管理员)和putong(普通用户)。系统通过IA接口实现各类功能操作,包括查找、借阅、归还、新增、删除等。采用模块化设计,将不同功能封装为独立类,通过接口数组实现动态绑定。管理员可进行书籍增删操作,普通用户可借阅归还书籍,体现了良好的封装性和扩展性。
架构
在写一个代码时 先想清思路 构建好大概框架 再去写代码
通过建立不同的包 把不同对象给分割开
一个类就是一个对象
弄明白操作的是什么

主体代码
package yonghu;
import Book.Bookclass;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:03
*/
public class ma {
//如何调用接受不同对象
t
public static user s(){
System.out.println("请输入你的姓名");
Scanner scanner=new Scanner(System.in);
String name=scanner.nextLine();
System.out.println(name+"欢迎来到图书管理系统");
System.out.println("请选择相关身份");
System.out.println("1 用户 2 管理者");
int a=scanner.nextInt();
if(a==1){
return new putong(name);
}else {
return new guanli(name);
}
}
通过返回不同对象的实例 确定 相关身份 给父类
public static void main(String[] args) {
//发生向上转型 多态 动态绑定
user users=s();
// 通过调用父类的方法 动态绑定调用子类 去调用f()用c接收返回值
while (true) {
int c = users.f();
Bookclass bookclass = new Bookclass();
users.t(c, bookclass);
//通过传选择身份的实例 和书架 进行操作
}
}
}
book
package Book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 10:48
*/
public class Book {
public Book(int jiage, String name, String zuozhe) {
this.jiage = jiage;
this.name = name;
this.zuozhe = zuozhe;
}
private int jiage;//价格
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;//名字
private String zuozhe;//作者
public boolean isZhuangtai() {
return zhuangtai;
}
public void setZhuangtai(boolean zhuangtai) {
this.zhuangtai = zhuangtai;
}
private boolean zhuangtai;//书的状态
@Override
public String toString() {
return "Book{" +
"jiage=" + jiage +
", name='" + name + '\'' +
", zuozhe='" + zuozhe + '\'' +
", zhuangtai=" + ((zhuangtai==true)? "被借阅": "未借阅") +
'}';
}
}
书架
package Book;
import java.util.Random;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 10:49
*/
public class Bookclass {
private Book[] books=new Book[10];//书架上创建了10本书
public Book getBenshu2(int pos) {
return books[pos];
}
public void WO(int pos,Book book){
this.books[pos]=book;
}
public Book[] zhengben(){
return books;
}
public void setBenshu2(Book[] books) {
this.books=books;
}
public int getBenshu1() {
return benshu;
}
public void setBenshu1(int benshu) {
this.benshu = benshu;
}
private int benshu;//几本
// 初始化书
public Bookclass(){
books[0]=new Book(10,"西游记","罗贯中");
books[1]=new Book(11,"吃人的社会","周树人");
books[2]=new Book(12,"红楼梦","施耐庵");
this.benshu=3;
}
}
公共用户
package yonghu;
import Book.Bookclass;
import Book.IA;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 13:53
*/
public abstract class user {
protected String name;
protected IA[] IAS;
//通过接口数组接受不同实例业务 选择操作
public user(String name) {
this.name=name;
this.IAS=IAS;
}
public abstract int f();
//菜单可选择的业务
public void t(int c, Bookclass w){
IAS[c].e(w);
}
通过接口数组确定操作调用接口重写的方法 进行业务操作
}
管理员
package yonghu;
import Book.*;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 13:53
*/
public class guanli extends user{
protected String name;
public guanli(String name){
super(name);
this.IAS=new IA[]{
new tuichu(),
new chazhao(),
new xinzeng(),
new shanchu(),
new xianshi()
};
}
@Override
public int f(){
System.out.println(name+"欢迎来到图书管理系统");
System.out.println("0 退出系统");
System.out.println("1 查找图书");
System.out.println("2 新增图书");
System.out.println("3 删除图书");
System.out.println("4 显示图书");
Scanner scanner=new Scanner(System.in);
int c=scanner.nextInt();
return c;
}
}
普通的用户
package yonghu;
import Book.*;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 13:53
*/
public class putong extends user {
protected String name;
public putong(String name){
super(name);
this.IAS=new IA[]{
new tuichu(),
new chazhao(),
new jieyue(),
new guihuan(),
new xianshi()
};
}
public int f(){
System.out.println(name+"欢迎来到图书管理系统");
System.out.println("0 退出系统");
System.out.println("1 查找图书");
System.out.println("2 借阅图书");
System.out.println("3 归还图书");
System.out.println("4 显示图书");
Scanner scanner=new Scanner(System.in);
int c=scanner.nextInt();
return c;
}
}
//接口
package Book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:17
*/
public interface IA {
void e(Bookclass bookclass);
}
//查阅功能
package Book;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:17
*/
public class chazhao implements IA{
public void e(Bookclass bookclass){
System.out.println("查找系统");
System.out.println("请输入你要找到图书");
Scanner scanner=new Scanner(System.in);
String q=scanner.nextLine();
int i=0;
for(;i<bookclass.getBenshu1();i++){
Book book=bookclass.getBenshu2(i);
if(book.getName().equals(q) ){
System.out.println("找到了");
System.out.println(book);
return;
}
}
System.out.println("没招到");
}
}
//显示功能
package Book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:17
*/
public class xianshi implements IA {
public void e(Bookclass bookclass){
System.out.println("显示系统");
int c=bookclass.getBenshu1();
for (int i = 0; i < c; i++) {
Book book=bookclass.getBenshu2(i);
System.out.println(book);
}
}
}
//借阅功能
package Book;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:17
*/
public class jieyue implements IA{
public void e(Bookclass bookclass){
System.out.println("借阅系统");
int d=bookclass.getBenshu1();
for (int i = 0; i < d; i++) {
Book book=bookclass.getBenshu2(i);
System.out.println(book);
}
System.out.println("请输入借阅的图书序号");
Scanner scanner=new Scanner(System.in);
int c=scanner.nextInt();
Book book=bookclass.getBenshu2(c);
if(book.isZhuangtai()==true){
System.out.println("已被借阅");
return;
}
if(book.isZhuangtai()==false){
book.setZhuangtai(true);
System.out.println("借阅成功");
System.out.println(book);
}
}
}
//归还功能
package Book;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:17
*/
public class guihuan implements IA{
public void e(Bookclass bookclass){
System.out.println("归还系统");
System.out.println("借阅系统");
int d=bookclass.getBenshu1();
for (int i = 0; i < d; i++) {
Book book=bookclass.getBenshu2(i);
System.out.println(book);
}
System.out.println("请输入借阅的图书序号");
Scanner scanner=new Scanner(System.in);
int c=scanner.nextInt();
Book book=bookclass.getBenshu2(c);
if(book.isZhuangtai()==true){
book.setZhuangtai(false);
System.out.println("归还成功");
System.out.println(book);
}
}
}
//退出系统
package Book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 14:16
*/
public class tuichu implements IA {
public void e(Bookclass bookclass){
System.out.println("退出系统");
System.exit(0);
}
}
//新增功能
package Book;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 16:22
*/
public class xinzeng implements IA{
public void e(Bookclass bookclass) {
int d=bookclass.getBenshu1();
if(d==10)
{
System.out.println("已满图书");
return;
}
System.out.println("新增图书系统");
Scanner scanner=new Scanner(System.in);
System.out.println("请新增输入书的名字");
String a=scanner.nextLine();
System.out.println("请输入新增作者的名字");
String b=scanner.nextLine();
System.out.println("请输入新增作品的价格");
int c=scanner.nextInt();
Book newbook=new Book(c,a,b);
String name2=newbook.getName();
for (int i = 0; i < d; i++) {
String name1=bookclass.getBenshu2(i).getName();
if(name1.equals(name2)){
System.out.println("该书已被添加");
return;
}
}
bookclass.WO(d,newbook);
d++;
System.out.println("已添加成功");
for (int i = 0; i < d; i++) {
Book book= bookclass.getBenshu2(i);
System.out.println(book);
}
}
}
//删除功能
package Book;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: 28931
* Date: 2026-02-24
* Time: 16:23
*/
public class shanchu implements IA{
public void e(Bookclass bookclass){
System.out.println("删除系统");
int d=bookclass.getBenshu1();
for (int i = 0; i < d; i++) {
Book book= bookclass.getBenshu2(i);
System.out.println(book);
}
System.out.println("请输入你要删除的序号");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
for(int i=a;i<d-1;i++){
Book book=bookclass.getBenshu2(a+1);
bookclass.WO(a,book);
}
bookclass.setBenshu1(d-1);
for (int i = 0; i < d-1; i++) {
Book book= bookclass.getBenshu2(i);
System.out.println(book);
}
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)