Java实现简单的图书管理系统

简单的图书管理系统实现要求:
1,以不同的角色进行登录(如学生,管理员)
2,管理员要求实现增加学生信息,删除学生信息,上架图书,下架图书功能
3,学生登录后实现借书,还书,查看图书功能。
实现代码

//定义图书类
public class Book {
    private String name;//书名
    private String writer;//作者
    private boolean flag;//标记是否借出true为未借出
    Book(){
    
    }
    Book(String na,String wr){
        name=na;
        writer=wr;
        flag=true;
    }

    public String getName() {
        return name;
    }

    public String getWriter() {
        return writer;
    }

    public boolean isFlag() {
        return flag;
    }
    public void setFlag(boolean b){
        flag=b;
    }
   //输出图书信息
    public void show(){
        System.out.println(name+" "+writer+" "+flag);
    }
}
//管理员类
public class Manger {
    private int num;//工号
    private String pwd;//密码
    public Manger(){

    }
    public Manger(int num, String pwd) {
        this.num = num;
        this.pwd = pwd;
    }

    public int getNum() {
        return num;
    }

    public String getPwd() {
        return pwd;
    }
}
//学生类
public class Student {
    private String name;//姓名
    private int num;//学号

    public Student(int num,String name) {
        this.name = name;
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public int getNum() {
        return num;
    }
    public void show(){
        System.out.println("学号"+num+"姓名"+name);
    }
}
//图书馆类
public class Libray {
    private Book[] book;//用于存放图书信息
    private int size=0;//图书的数量
    private Student[] students;//用于存放学生信息
    private int ssize=0;//学生信息记录
    //构造函数
    public Libray() {
        book=new Book[10];
        students=new Student[10];
    }
    //登录主界面,用于学生与管理员选择登录
    public void mianLogin(){
        System.out.println("1--管理员 2--学生 0--退出 ");
        Scanner s1 = new Scanner(System.in);
        Book[] b=new Book[10];
        int ch = s1.nextInt();
        while (ch != 0) {
            if (ch == 1) {
                mangerlogin();//进入管理员操作界面
            }
            if (ch == 2) {
                studentlogin();//进入学生操作界面
            }
            System.out.println("1--管理员 2--学生 0--退出 ");
            ch = s1.nextInt();
        }
    }
    //学生操作界面,用于完成借书,还书,查询图书功能
    public void studentlogin() {
        System.out.println("1--借书 2--还书 3--查询图书信息 0--退出");
        Scanner s1 = new Scanner(System.in);
        int ch = s1.nextInt();
        while (ch!=0) {
            switch (ch) {
                case 1:
                    borrow();
                    break;
                case 2:
                    back();
                    break;
                case 3:
                    serch();
                    break;
            }
            System.out.println("1--借书 2--还书 3--查询图书信息 0--退出");
            ch = s1.nextInt();
        }
    }
    //借书功能
    public void borrow(){
        System.out.println("输入借的书名");
        Scanner s1=new Scanner(System.in);
        String na=s1.next();
        int i;
        for( i=0;i<size;i++)
            if(book[i].getName().equals(na)) {
                book[i].setFlag(false);
                System.out.println("借书成功");
                break;
            }
        if(i==size)
            System.out.println("借的书没有呀");
    }
    //还书功能
    public void back(){
        System.out.println("输入还的书名");
        Scanner s1=new Scanner(System.in);
        String na=s1.next();
        int i;
        for( i=0;i<size;i++)
            if(book[i].getName().equals(na)) {
                book[i].setFlag(true);
                System.out.println("还书成功");
                break;
            }
        if(i==size)
            System.out.println("你可能记错了");
    }
    //查询功能
    public void serch() {
        System.out.println("输入要查询的书");
        Scanner s1 = new Scanner(System.in);
        String na = s1.next();
        int i;
        for ( i = 0; i < size; i++)
            if (book[i].getName().equals(na)) {
                book[i].show();
                break;
            }
        if(i==size)
            System.out.println("没有找到耶");
    }

    /**
     管理员操作界面,用于完成注册删除学生信息,上下架图书等*
     */
    public void mangerlogin() {
        System.out.println("1--注册学生信息 2--删除学生信息 3--上架 4--下架 0-退出");
        Scanner s1 = new Scanner(System.in);
        int ch = s1.nextInt();
        while(ch!=0) {
            switch (ch) {
                case 1:
                    addst();
                    shows();
                    break;
                case 2:
                    delst();
                    shows();
                    break;
                case 3:
                    addbook();
                    show();
                    break;
                case 4:
                    delbook();
                    show();
                    break;
            }
            System.out.println("1--注册学生信息 2--删除学生信息 3--上架 4--下架 0--退出");
            ch = s1.nextInt();
        }
    }
    //注册学生信息
        public void addst(){
        System.out.println("输入学生学号姓名");
        Scanner s1=new Scanner(System.in);
        int nu=s1.nextInt();
        String na=s1.next();
        Student st=new Student(nu,na);
        if(ssize>=students.length)
            students= Arrays.copyOf(students,students.length+1);
        students[ssize]=st;
        ssize++;
    }
    //删除学生信息
    public void delst(){
        System.out.println("输入删除学生的学号");
        Scanner s=new Scanner(System.in);
        int n=s.nextInt();
        for(int i=0;i<ssize;i++) {
            if (this.students[i].getNum() == n) {
                for (int j = i; j < ssize - 1; j++)
                    this.students[j] = this.students[j + 1];
                ssize--;
            }
        }
    }
    上架图书
    public void addbook(){
        if(size>=book.length)
            book=Arrays.copyOf(book,book.length+1);
        System.out.println("输入上架书名和作者");
        Scanner s1=new Scanner(System.in);
        String na=s1.next();
        String w=s1.next();
        Book b1=new Book(na,w);
        book[size]=b1;
        size++;
    }
    //下架图书
    public void delbook(){
        System.out.println("输入下架书名");
        Scanner s=new Scanner(System.in);
        String n=s.next();
        for(int i=0;i<size;i++) {
            if (book[i].getName().equals(n)) {
                for (int j = i; j < size - 1; j++)
                    book[j] = book[j + 1];
                size--;
            }
        }
    }
   // 显示图书信息
    public void show () {
        for(int i=0;i<size;i++)
            book[i].show();
    }
    //显示学生信息
    public void shows() {
        for (int i = 0; i < ssize; i++)
            students[i].show();
    }
}
  • 13
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值