基于JavaSE的图书管理系统

1.读者类

public class Reader {
    private int id;
    private String name;
    private String pwd;
    public Reader() {

    }
    public Reader(int id, String pwd) {
        this.id = id;
        this.pwd = pwd;
    }
    public Reader(String name, String pwd) {
        this.name = name;
        this.pwd = pwd;
    }
    public Reader(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "Reader{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

2.图书类

public class Tushu {
    private String bid;
    private String bname;
    private String zuozhe;
    private Double price;
    public Tushu() {
    }
    public Tushu(String bid, String bname, String zuozhe, Double price) {
        this.bid = bid;
        this.bname = bname;
        this.zuozhe = zuozhe;
        this.price = price;
    }

    public String getBid() {
        return bid;
    }

    public void setBid(String bid) {
        this.bid = bid;
    }

    public String getBname() {
        return bname;
    }

    public void setBname(String bname) {
        this.bname = bname;
    }

    public String getZuozhe() {
        return zuozhe;
    }

    public void setZuozhe(String zuozhe) {
        this.zuozhe = zuozhe;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Tushu{" +
                "bid='" + bid + '\'' +
                ", bname='" + bname + '\'' +
                ", zuozhe='" + zuozhe + '\'' +
                ", price=" + price +
                '}';
    }
}

3.管理员类

public class Guanliyuan {
    private String gid;
    private String gpwd;
    public Guanliyuan() {

    }
    public Guanliyuan(String gid, String gpwd) {
        this.gid = gid;
        this.gpwd = gpwd;
    }

    public String getGid() {
        return gid;
    }

    public void setGid(String gid) {
        this.gid = gid;
    }

    public String getGpwd() {
        return gpwd;
    }

    public void setGpwd(String gpwd) {
        this.gpwd = gpwd;
    }
}

4.方法处理类

public class Tushuguan {
    ArrayList<Reader> listReader = new ArrayList<>();
    ArrayList<Tushu> listBook = new ArrayList<>();
    ArrayList<Guanliyuan> listGuanliyuan=new ArrayList<>();
    HashMap<Reader,Tushu> hashMap=new HashMap<>();
    Scanner scanner=new Scanner(System.in);

    public Tushuguan() {
        listBook.add(new Tushu("9787001","java基础","feifei",12.0));
        listBook.add(new Tushu("9789008","javaweb","yangyang",123.0));
        listBook.add(new Tushu("9787002","java与大数据","弘扬",100.0));
        listReader.add(new Reader(1001, "lisi", "456"));
        listReader.add(new Reader(1002, "wangwu", "123"));
        listReader.add(new Reader(1003, "zhaoliu", "123"));
        listReader.add(new Reader(1004, "zhangsan", "123"));
    }

    //初始化图书管理员
    public void Guanli(){
        listGuanliyuan.add(new Guanliyuan("admin","666"));
    }
    //查询读者列表
    /*public void Duzhe() {

    }*/
    //查询图书列表
    /*public void Shu(){

    }*/
    //按编号查询
    public void Bianhao(String s){
        //Shu();

        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBid().equals(s)){
                System.out.println(listBook.get(i));
                break;
            }else {
                System.out.println("没有该编号的书籍!!");
            }
        }
    }
    //按名称查询
    public void Mingcheng(String name){
        //Shu();

        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBname().equals(name)){
                System.out.println(listBook.get(i));
                break;
            }else {
                System.out.println("没有该名称的书籍!!!");
            }
        }
    }
    //查看读者
    public void checkReader(){
        for (int i = 0; i < listReader.size(); i++) {
            System.out.println(listReader.get(i));
        }
    }
    //添加读者
    public void addDuzhe(){
        System.out.println("请输入要加入的读者姓名:");
        String name=scanner.next();
        int a=listReader.get(listReader.size()-1).getId();
        //listReader.add(new Reader(++a,name,"123"));
        if(listReader.add(new Reader(++a,name,"123"))){
            System.out.println("添加成功!!!");
        }else {
            System.out.println("添加失败!!!");
        }
    }
    //删除读者
    public void removeDuzhe(){
        System.out.println("请输入要删除的读者的Id:");
        int num= scanner.nextInt();
        int index=0;
        boolean flag=false;
        Iterator<Reader> iterator = listReader.iterator();
        while (iterator.hasNext()) {
            if (iterator.next().getId()==num){
                flag=true;
                break;
            }else {
                flag=false;
            }
            index++;
        }
        if (flag){
            listReader.remove(index);
            System.out.println("删除成功!!!");
        }else {
            System.out.println("删除失败!!!");
        }
    }
    //添加图书
    public void addShu(){
        //Shu();
        boolean result=false;
        System.out.println("***************添加图书***************");
        System.out.println("请输入图书编号");
        String bookid = scanner.next();
        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBid().equals(bookid)){
                result=true;
                break;
            }
        }
        if (result){
            System.out.println("增加失败,该书已经存在!!!");
        }else {
            System.out.println("请输入要加入的书籍的名字:");
            String bname=scanner.next();
            System.out.println("请输入作者");
            String author = scanner.next();
            System.out.println("请输入价格");
            double price = scanner.nextDouble();
            if (listBook.add(new Tushu(bookid, bname, author, price))) {
                System.out.println("添加成功!!!");
            } else {
                System.out.println("添加失败!!!");
            }
        }
    }
    //删除图书
    public void removeShu(){
        //Shu();
        System.out.println("***************删除图书***************");
        System.out.println("请输入图书编号");
        String bookid = scanner.next();
        int index=0;
        boolean flag=false;
        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBid().equals(bookid)){
                index=i;
                flag=true;
                break;
            }
        }
        if (flag){
            listBook.remove(index);
            System.out.println("删除成功!!!");
        }else {
            System.out.println("删除失败!!!");
        }
    }
    //读者登录列表
    public int RdengLu(){
        boolean result=false;
        System.out.println("------读者登录------");
        System.out.println("请输入读者编号");
        int readerid = scanner.nextInt();
        System.out.println("请输入读者密码");
        String pwd = scanner.next();
        for (int i = 0; i < listReader.size(); i++) {
            if (readerid==listReader.get(i).getId()&&listReader.get(i).getPwd().equals(pwd)){
                result=true;
                break;
            }else {
                result=false;
            }
        }
        if (result){
            return readerid;
        }
        return -1;
    }
    //管理员登录
    public boolean Gdenglu(){
        Guanli();
        boolean result=false;
        System.out.println("--------------管理员登录--------------");
        System.out.println("请输入管理员的账户");
        String name = scanner.next();
        System.out.println("请输入管理员密码");
        String pwd = scanner.next();
        for (int i = 0; i < listGuanliyuan.size(); i++) {
            if (listGuanliyuan.get(i).getGid().equals(name)&&listGuanliyuan.get(i).getGpwd().equals(pwd)){
                result=true;
                break;
            }else {
                result=false;
            }
        }
        return result;
    }
    //修改密码
    public void changePwd(int readerid){
        int index=0;
        System.out.println("============修改密码============");
        System.out.println("请输入密码");
        String oldPwd = scanner.next();
        System.out.println("请输入新密码");
        String newPwd = scanner.next();
        for (int i = 0; i < listReader.size(); i++) {
            if (listReader.get(i).getId()==readerid){
                index=i;
                break;
            }
        }
        if (listReader.get(index).getPwd().equals(oldPwd)){
            listReader.get(index).setPwd(newPwd);
            System.out.println("修改成功!!!");
        }else {
            System.out.println("修改失败!!!");
        }
    }
    //查看借阅信息
    public void checkBoroow(int id){
        System.out.println("============查看借阅信息============");
        int num=0;
        for (int i = 0; i < listReader.size(); i++) {
            if (listReader.get(i).getId()==id){
                num=i;
            }
        }
        boolean result=hashMap.containsKey(listReader.get(num));
        if (result){
            System.out.println(hashMap.get(listReader.get(num)));
        }else {
            System.out.println(listReader.get(num).getName()+"不存在借阅记录");
        }
    }
    //借书
    public void boroowBook(int id){
        //Shu();
        System.out.println("============借书============");
        System.out.println("请输入借阅图书的编号");
        String bookid = scanner.next();
        int index=0;
        int num=0;
        //先查看该图书是否存在
        boolean result=false;
        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBid().equals(bookid)){
                result=true;
                index=i;
                break;
            }else {
                result=false;
            }
        }
        for (int i = 0; i < listReader.size(); i++) {
            if (listReader.get(i).getId()==id){
                num=i;
                break;
            }
        }
        if (result){
            hashMap.put(listReader.get(num),listBook.get(index));
            System.out.println("借阅成功!!!");
        }else {
            System.out.println("该编号不存在!!!");
        }
    }
    //还书
    public void backBook(int id){
        //Shu();
        System.out.println("============还书============");
        System.out.println("请输入 要归还图书的编号");
        String bookid = scanner.next();
        int num=0;
        //先查看该图书是否存在
        boolean result=false;
        for (int i = 0; i < listBook.size(); i++) {
            if (listBook.get(i).getBid().equals(bookid)){
                result=true;
                break;
            }else {
                result=false;
            }
        }
        for (int i = 0; i < listReader.size(); i++) {
            if (listReader.get(i).getId()==id){
                num=i;
                break;
            }
        }
        if (result){
            hashMap.remove(listReader.get(num));
            System.out.println("还书成功!!!");
        }else {
            System.out.println("该编号的书不存在所以不用归还!!");
        }
    }
    //查看个人信息
    public void checkView(int id){
        System.out.println("============查看个人信息============");
        for (int i = 0; i < listReader.size(); i++) {
            if (listReader.get(i).getId()==id){
                System.out.println(listReader.get(i));
                break;
            }
        }
    }
}

5.用户登录后的界面

public class Userinterface {
    Tushuguan tushuguan=new Tushuguan();
    Qiantai qiantai=new Qiantai();
    public void User(int Rid){
        while (true) {
            System.out.println("========读者操作========");
            System.out.println("\t1.查看个人信息");
            System.out.println("\t2.修改密码");
            System.out.println("\t3.查看借阅信息");
            System.out.println("\t4.借书");
            System.out.println("\t5.还书");
            System.out.println("\t6.退出");
            System.out.println("请输入你的操作");
            Scanner scanner = new Scanner(System.in);
            int num = scanner.nextInt();
                switch (num) {
                    case 1:
                        tushuguan.checkView(Rid);
                        break;
                    case 2:tushuguan.changePwd(Rid);
                        break;
                    case 3:tushuguan.checkBoroow(Rid);
                        break;
                    case 4:tushuguan.boroowBook(Rid);
                        break;
                    case 5:tushuguan.backBook(Rid);
                        break;
                    case 6:qiantai.showMainView();
                        break;
                    default:
                        break;
                }
        }
    }
}

6.管理员登录后的页面

public class Houtai {
    Tushuguan tushuguan=new Tushuguan();
    Qiantai qiantai=new Qiantai();
    public void Hou(){
        while (true) {
            System.out.println("--------------管理员操作--------------");
            System.out.println("\t1 添加读者");
            System.out.println("\t2 删除读者");
            System.out.println("\t3 查看读者");
            System.out.println("\t4 添加图书");
            System.out.println("\t5 删除图书");
            System.out.println("\t6 查看所有图书");
            System.out.println("\t7 退出");
            System.out.println("请输入你的操作");
            Scanner scanner=new Scanner(System.in);
            int num= scanner.nextInt();
            switch (num){
                case 1:tushuguan.addDuzhe();
                    break;
                case 2:tushuguan.removeDuzhe();
                    break;
                case 3:tushuguan.checkReader();
                    break;
                case 4:tushuguan.addShu();
                    break;
                case 5:tushuguan.removeShu();
                    break;
                case 6:
                    for (int i = 0; i < tushuguan.listBook.size(); i++) {
                        System.out.println(tushuguan.listBook.get(i));
                    }
                    break;
                case 7:qiantai.showMainView();
                    break;
                default:break;
            }
        }

    }
}

7.图书查询界面

public class Showbook {
    Tushuguan tushuguan=new Tushuguan();
    Tushu tushu=new Tushu();
    Scanner scanner=new Scanner(System.in);
    Qiantai qiantai=new Qiantai();
    public void showBook(){
        while (true){
            System.out.println("--------图书查询-------");
            System.out.println("1、按编号查询:");
            System.out.println("2、按名称查询:");
            System.out.println("3.退出");
            System.out.println("请输入你的选择:");
            int choice = scanner.nextInt();
            switch (choice){
                case 1:
                    System.out.println("请输入要查询的图书编号:");
                    String bookNum=scanner.next();
                    tushuguan.Bianhao(bookNum);
                    break;
                case 2:
                    System.out.println("请输入要查询的名称:");
                    String bookName=scanner.next();
                    tushuguan.Mingcheng(bookName);
                    break;
                case 3:qiantai.showMainView();
                default:break;
            }
        }
    }
}

8.前台页面

public class Qiantai {
    public void showMainView(){
        Userinterface userinterface=new Userinterface();
        Houtai houtai=new Houtai();
        Tushuguan tushuguan=new Tushuguan();
        Showbook showbook=new Showbook();
        System.out.println("========图书管理系统========");
        System.out.println("\t1.图书查询");
        System.out.println("\t2.读者登录");
        System.out.println("\t3.管理员登录");
        System.out.println("\t4.退出");
        System.out.println("请输入你的操作:");
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        while (true){
            switch (num){
                case 1:showbook.showBook();
                    break;
                case 2:int id=tushuguan.RdengLu();
                    if (id>0){
                        userinterface.User(id);
                    }
                    break;
                case 3:
                    if (tushuguan.Gdenglu()){
                        houtai.Hou();
                    }
                    break;
                case 4:System.exit(0);
                default:break;
            }
        }
    }
}
public class QiantaiJiemian {
    public static void main(String[] args) {
        Qiantai qiantai=new Qiantai();
        qiantai.showMainView();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值