美文网首页
简单的图书管理系统

简单的图书管理系统

作者: 谭二皮 | 来源:发表于2018-09-04 19:27 被阅读0次

    自写的极其简陋的图书管理系统,代码不太规范,在学习中慢慢改

    现在还存在两个问题:

    1.还书还的是null

    2.借书传的不是书的编号

    在周末之前解决

    如有疑问或建议欢迎留言

    简书的代码排版实在有问题,如果有需要,可通过我的博客园的代码进行使用:

    博客园谭二皮_简单的图书管理系统


    LibMain.java

    import java.util.Scanner;/* *  * 图书管理系统

    * 1.登录和注册

    * 2.登录成功后

    *        a.显示所有图书列表 添加 查询  修  删除

    *        b.借阅图书  需要绑定借阅人账号

    *        c.查看已借阅图书列表  归还图书

    * 3.退出当前登录的账号

    */publicclass LibMain {

        publicstaticvoid main(String[] args) {

            /*        * 预定义

            */        Libmanage lib =new Libmanage();

            Scanner sc =new Scanner(System.in);

            //将会接收op1方法的返回值,是否进行下一阶段intOp1=0;

            //用于第一个while循环————登录注册操作intflag1=1;

            //用于第二个while循环————是否对图书进行操作intflag2=1;

            //将用于接收对图书的操作intOp2=0;

            /*        * 开始进入图书馆

            */        System.out.println("欢迎来到网络图书馆!");

            while(flag1==1){

                System.out.println("请输入需要的操作:1.登录2.注册0.退出系统");

                Op1 = lib.op1();//在op1方法中登录成功,就会返回1,进入图书操作界面if(Op1==1){

                    while(flag2==1){

                        lib.show();//显示操作菜单Op2=sc.nextInt();

                        switch(Op2){

                        case1:

                            lib.addBook();

                            break;

                        case2:

                            lib.delBook();

                            break;

                        case3:

                            lib.modBook();

                            break;

                        case4:

                            lib.selBook();

                            break;

                        case5:

                            lib.showAllBook();

                            break;

                        case6:

                            lib.borBook();

                            break;

                        case7:

                            lib.showBorBook();

                            break;

                        case8:

                            lib.huanBook();

                            break;

                        case0:

                            flag2=0;

                            break;

                        default:

                            break;

                        }

                    }//第二个while的大括号            }

            }//第一个while循环的大括号    }

    }

    Library.java

    /** * 图书信息

    * @author y

    *

    */publicclass Library {

        //书名private String bookName;

        //作者private String bookAuther;

        //价格privatedouble bookPrice;

        /*    * set&get

        */public String getBookName() {

            return bookName;

        }

        publicvoid setBookName(String bookName) {

            this.bookName = bookName;

        }

        publicdouble getBookPrice() {

            return bookPrice;

        }

        publicvoidsetBookPrice(double bookPrice) {

            this.bookPrice = bookPrice;

        }

        public String getBookAuther() {

            return bookAuther;

        }

        publicvoid setBookAuther(String bookAuther) {

            this.bookAuther = bookAuther;

        }

        /*    * 构造方法

        */public Library() {

            super();

            // TODO Auto-generated constructor stub    }

        publicLibrary(String bookName, String bookAuther,double bookPrice) {

            super();

            this.bookName = bookName;

            this.bookAuther = bookAuther;

            this.bookPrice = bookPrice;

        }

        @Override

        public String toString() {

            return"书名:" + bookName + ",作者: " + bookAuther + ", 价格:" + bookPrice;

        }

    }

    Libmanage.java

    package com.inclass.test;/** * 图书和用户的操作

    * @author y

    *

    */import java.util.Scanner;import java.util.TreeMap;publicclass Libmanage {

        Scanner sc =new Scanner(System.in);

        //将会接收登录注册指令intop1=0;

        //成员变量————用户TreeMap userMap =newTreeMap<>();

        //成员变量————图书TreeMap bookMap =newTreeMap<>();

        //图书编号intbno=0;

        //成员变量————用户和借书的关系TreeMap borBook =newTreeMap<>();//将会被借出去的书存在这个treemap里,然后再与用户关联TreeMap huanBook =newTreeMap<>();//要还的书的中介TreeMap userBook =newTreeMap<>();

        //用于注册或登录的用户名和密码String name=null,password=null;

        //用于图书操作的属性定义String bname,bauther;//书名,书作者doublebprice;//书价格/*    * 登录注册选择

        */publicint op1(){

            intfh=0;

            try{

                op1 = sc.nextInt();//接收登录注册指令if(op1==1){

                    inti=1;

                    System.out.println("请输入用户名:");

                    name = sc.next();

                    for (String str : userMap.keySet()) {

                        if(str.equals(name)){

                            fh=login(str);//登录————登录成功会返回1,失败返回0i=0;//如果没有该用户,那就会进行注册,有,置为0,不注册break;

                        }

                    }

                    if(i==1){

                        System.out.println("没有"+name+"用户,请进行注册!");

                        register();//跳到注册界面                }

                }elseif(op1==2){

                    register();//注册}elseif(op1==0){

                    System.out.println("退出系统!...");

                    System.exit(0);

                }else{

                    System.out.println("输入有误请重新输入");

                }

            }catch(Exception e){

                System.out.println("输入有误请重新输入");

                sc.next();//出现异常后,就不断进行死循环的解决办法(可想想别的解决办法)        }

            return fh;

        }

        /*    * 用户注册

        *    ->对密码没有要求

        */publicint register(){

            System.out.println("请输入用户名:");

            name = sc.next();

            System.out.println("请输入密码:");

            password = sc.next();

            for (String str : userMap.keySet()) {

                if(str.equals(name)){

                    System.out.println("已经存在该用户!请重新注册!");

                    return0;

                }

            }

            userMap.put(name, password);

            System.out.println("注册成功!");

            return1;

        }

        /*    * 用户登录

        *    ->先判断用户名是否相同,然后再判断密码是否相同。没有符合条件的就返回false,否则返回true

        */publicint login(String name){

            System.out.println("请输入密码:");

            password = sc.next();

            if(password.equals(userMap.get(name))){

                System.out.println("登陆成功!");

                return1;

            }

            System.out.println("用户名或密码错误!");

            return0;

        }

        /*    *1.增加图书

        */publicvoid addBook(){

            try {

                intx=0;

                System.out.println("请输入图书编号:");

                bno = sc.nextInt();

                for(int i : bookMap.keySet()) {

                    if(i==bno){

                        x=1;//如果已有图书,置为1,告诉用户不能添加                }

                }

                if(x==0){

                    System.out.println("请输入书名:");

                    bname = sc.next();

                    System.out.println("请输入作者:");

                    bauther = sc.next();

                    System.out.println("请输入价格:");

                    bprice = sc.nextDouble();

                    bookMap.put(bno, new Library(bname,bauther,bprice));

                    System.out.println("增加成功!新添图书的信息为:");

                    System.out.println("编号:"+bno + " " + bookMap.get(bno));

                }elseif(x==1){

                    System.out.println("已经存在编号为"+bno+"的书,请重新输入");

                }

            } catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 2.删除图书

        */publicvoid delBook(){

            System.out.println("请输入图书编号:");

            try {

                intx=0;

                bno=sc.nextInt();

                for(int i : bookMap.keySet()) {

                    if(bno==i){

                        x=1;

                    }

                }

                if(x==1){

                    bookMap.remove(bno);

                    System.out.println("删除成功!");

                }else{

                    System.out.println("没有编号为"+bno+"的书");

                }

            } catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 3.修改图书信息

        */publicvoid modBook(){

            try {

                intx=0;

                System.out.println("请输入需要修改的图书编号:");

                bno = sc.nextInt();

                for(int i : bookMap.keySet()) {

                    if(bno==i){

                        x=1;

                    }

                }

                if(x==1){

                    System.out.println("请输入修改后的书名:");

                    bname = sc.next();

                    System.out.println("请输入修改后的作者:");

                    bauther = sc.next();

                    System.out.println("请输入修改后的价格:");

                    bprice = sc.nextDouble();

                    bookMap.put(bno, new Library(bname,bauther,bprice));

                    System.out.println("修改成功!修改后图书的信息为:");

                    System.out.println("编号:"+bno + " " + bookMap.get(bno));

                }else{

                    System.out.println("没有编号为"+bno+"的书");

                }

            } catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 4.查询图书

        */publicvoid selBook(){

            intx=0;

            try {

                System.out.println("请输入需要查询的图书编号:");

                bno=sc.nextInt();

                for(int i : bookMap.keySet()) {

                    if(i==bno){

                        System.out.println(bookMap.get(i));

                        x=1;

                        break;

                    }

                }

                if(x==0){

                    System.out.println("没有编号为"+bno+"的书");

                }

            } catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 5.显示所有可借阅的书

        */publicvoid showAllBook(){

            for(int i : bookMap.keySet()) {

                System.out.println(i +" "+ bookMap.get(i));

            }

        }

        /*    * 6.借书

        */publicvoid borBook(){

            try {

                intx=0;

                System.out.println("请输入需要借阅图书的编号:");

                bno=sc.nextInt();

                for(int i : bookMap.keySet()) {

                    if(bno==i){

                        x=1;

                    }

                }

                if(x==1){

                    borBook.put(bno, bookMap.get(bno));//中介userBook.put(name, bookMap);//用户和借出去的书相关联bookMap.remove(bno);//把这本书从图书馆移除borBook.clear();//清除缓存,便于多用户借书}else{

                    System.out.println("不存在"+bno+"的书,请重新输入");

                }

            } catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 7.查看已经借出去的书

        */publicvoid showBorBook(){

            for (String str : userBook.keySet()) {

                System.out.println(str);

                System.out.println("        " + userBook.get(str));

            }

        }

        /*    * 8.还书

        */publicvoid huanBook(){

            try {

                System.out.println("请输入需要归还图书的编号:");

                bno=sc.nextInt();

                huanBook.put(bno, (Library) userBook.get(name).get(bno));//中介bookMap.put(bno, huanBook.get(bno));//向图书馆存书userBook.remove(name, userBook.get(name).get(bno));//将对应关系中的书删除huanBook.clear();//清除缓存}catch (Exception e) {

                System.out.println("输入有误请重新输入!");

            }

            bno=0;//预防性措施    }

        /*    * 显示操作菜单

        */publicvoid show(){

            System.out.println("请输入需要进行的操作:");

            System.out.println("1.增加图书");

            System.out.println("2.删除图书");

            System.out.println("3.修改图书");

            System.out.println("4.查询图书信息");

            System.out.println("5.显示可借阅图书");

            System.out.println("6.借阅图书");

            System.out.println("7.查看已经借阅的图书");

            System.out.println("8.归还图书");

            System.out.println("0.返回上一级");

        }

        {//事先存几本书和一名用户bookMap.put(001,newLibrary("书1","作者1",12));

            bookMap.put(002,newLibrary("书2","作者2",15));

            bookMap.put(003,newLibrary("书3","作者3",17));

            bookMap.put(004,newLibrary("书4","作者4",19));

            userMap.put("aaa", "123");

        }

    }

    相关文章

      网友评论

          本文标题:简单的图书管理系统

          本文链接:https://www.haomeiwen.com/subject/flynwftx.html