java简单的图书管理系统(只用java代码不用数据库和可视化界面,一个管理员表和图书表)

java控制台输入图书管理系统信息,(不用数据库和可视化界面,java学习新手秒懂)使用多层框架实现功能


图书管理系统需求:
一. 登录页面
1.管理员通过输入用户名和密码能够进入后台进行操作
2.可以进行注册
3.可以退出
二.后台操作有:
1.查询所有图书
2.根据作者查询
3.根据出版社查询图书
4.根据图书名称进行查询
5.增加图书
6.修改图书数量
7.根据图书编号删除图书
8.返回上一菜单
三.类的属性
管理员类 (Admin)
- 序号
- 用户名
- 密码
书库类(Book)
- 图书编号
- 图书名称
- 作者
- 总页数
- 出版社
- 图书数量

案列的项目布局如下图所示:
这是案例的项目结构


实体 Admin类的代码

package com.entity;

public class Admin {    
    private int no;   //序号
    private String adid; //用户名
    private String adpwd;//用户密码

    public int getNo() {
        return no;
    }
    public void setNo(int no) {
        this.no = no;
    }
    public String getAdid() {
        return adid;
    }
    public void setAdid(String adid) {
        this.adid = adid;
    }
    public String getAdpwd() {
        return adpwd;
    }
    public void setAdpwd(String adpwd) {
        this.adpwd = adpwd;
    }

    public Admin(int no, String adid, String adpwd) {
        super();
        this.no = no;
        this.adid = adid;
        this.adpwd = adpwd;
    }
    @Override
    public String toString() {
        return "Admin [no=" + no + ", adid=" + adid + ", adpwd=" + adpwd + "]";
    }
    public Admin() {
        super();
    }
}

entity 包下Book类的代码

package com.entity;
public class Book { 
    private String ISBN;      //图书编号
    private String bookName;  //书名
    private String author;    //作者
    private int pagenum;      //总页数
    private String publisher; //出版社
    private int bookcount;    //图书数量

    public String getISBN() {
        return ISBN;
    }
    public void setISBN(String iSBN) {
        ISBN = iSBN;
    }
    public String getBookName() {
        return bookName;
    }
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public int getPagenum() {
        return pagenum;
    }
    public void setPagenum(int pagenum) {
        this.pagenum = pagenum;
    }
    public String getPublisher() {
        return publisher;
    }
    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }
    public int getBookcount() {
        return bookcount;
    }
    public void setBookcount(int bookcount) {
        this.bookcount = bookcount;
    }

    @Override
    public String toString() {
        return "Book [图书编号=" + ISBN + ", 图书名称=" + bookName + ", 作者="
                + author + ", 总页数=" + pagenum + ", 出版社=" + publisher
                + ", 图书数量=" + bookcount + "本]";
    }

    public Book(String iSBN, String bookName, String author, int pagenum,
            String publisher, int bookcount) {
        super();
        ISBN = iSBN;
        this.bookName = bookName;
        this.author = author;
        this.pagenum = pagenum;
        this.publisher = publisher;
        this.bookcount = bookcount;
    }

    public Book() {
        super();
    }   
}

BookDao类

package com.Dao;
import java.util.List;
import com.entity.Book;
public interface BookDao {  
    public List<Book> getAllList();//获取所有图书
    public boolean addbook(Book book);//新增图书
    public boolean deletebook(Book book);//删除图书
    public boolean updatebook(Book book); //修改图书数量  
}

BookDaoImpl类继承BookDao接口类的代码

package com.Dao.Impl;

import java.util.ArrayList;
import java.util.List;
import com.Dao.BookDao;
import com.entity.Book;
public class BookDaoImpl implements BookDao {
       List<Book> booklist=new ArrayList<Book>(); 
       public void init(){
           Book book1=new Book("ISBN1001","西游记","吴承恩",100,"人民出版社",20);
           Book book2=new Book("ISBN1002","假如给我三天光明","张三",100,"合肥出版社",15);
           Book book3=new Book("ISBN1003","红楼梦","李四",100,"人民出版社",25);
           Book book4=new Book("ISBN1004","钢铁是怎样炼成的","翠花",100,"北京出版社",10);
           Book book5=new Book("ISBN1005","三国志","王五",100,"人民出版社",30);
           Book book6=new Book("ISBN1006","三国演义","王五",100,"人民出版社",30);
           booklist.add(book1);
           booklist.add(book2);
           booklist.add(book3);
           booklist.add(book4);
           booklist.add(book5);
           booklist.add(book6);
       }    
    @Override
    public List<Book> getAllList() {
        return booklist;
    }
    @Override
    public boolean addbook(Book book) {
        return booklist.add(book);      
    }
    @Override
    public boolean updatebook(Book book) {
        return false;
    }   
    @Override
    public boolean deletebook(Book book) {
        return false;   
    }
}

AdminDao接口类代码

package com.Dao;

import java.util.List;

import com.Dao.BookDao;
import com.entity.Admin;
/**
 * 管理员接口类
 * @author Administrator
 *
 */
public interface AdminDao{

    public List<Admin> AdminList();
    public boolean insert(Admin admin);

}

AdminDaoImpl类

package com.Dao.Impl;
import java.util.ArrayList;
import java.util.List;
import com.Dao.AdminDao;
import com.entity.Admin;
import com.entity.Book;
/**
 * AdminDaoImpl继承AdminDao类
 * @author Administrator
 *
 */
public class AdminDaoImpl implements AdminDao {
    List<Admin> adminlist=new ArrayList<Admin>();   
     public void init(){
        Admin adm1=new Admin(1,"admin","123456");
        adminlist.add(adm1);
     }     
    @Override
    public List<Admin> AdminList() {        
        return adminlist;
    }
    @Override
    public boolean insert(Admin admin) {
        return adminlist.add(admin);        

    }    
}

BookBizImpl类的代码

package com.Biz;

import java.util.List;
import com.Dao.Impl.AdminDaoImpl;
import com.Dao.Impl.BookDaoImpl;
import com.entity.*;

public class BookBizImpl {

    public BookDaoImpl bdi = new BookDaoImpl();
    public AdminDaoImpl adi = new AdminDaoImpl();
    List<Admin> admList = adi.AdminList();
    List<Book> booklist = bdi.getAllList();
    Book book=new Book();

    public Admin getAdminbyId(String adid) {
        for (int i = 0; i < admList.size(); i++) {
            Admin admtemp = admList.get(i);
            if (admtemp.getAdid().equals(adid)) {
                return admtemp;
            }
        }
        return null;
    }
    /**
     * 查询所有图书
     */
    public void showALLBook() {
        int sum=0;
        System.out.println("本图书馆共有"+booklist.size()+"种书");
        for (int i = 0; i < booklist.size(); i++) {
            Book booktemp = booklist.get(i);
            System.out.println(booktemp.toString());
            sum +=booklist.get(i).getBookcount();   //获取图书馆所有图书的总数
        }
        System.out.println("图书馆共有藏书:"+sum+"本");  //打印输出图书馆的总藏书量
    }
    /**
     * 业务逻辑:登录功能
     */
    public boolean Admin(String adid, String adpwd) {
        for (int i = 0; i < admList.size(); i++) {
            Admin adtemp = admList.get(i);
            if (adid.equals(adtemp.getAdid())
                    && adpwd.equals(adtemp.getAdpwd())) {
                System.out.println("信息正确,已经进入系统!");
                return true;
            }else{
                System.err.println("用户名或者密码错误!");
            }
        }
        return false;
    }
    /**
     * 根据作者查询图书
     */
    public boolean adauthor(String author) {
         for (int i = 0; i <booklist.size(); i++) {
            Book booktemp=booklist.get(i);
            if(booktemp.getAuthor().equals(author)){
                System.out.println(booktemp.toString());

            }
         }       
        return false;
    }

    /**
     * 根据出版社查询图书
     */
    public boolean adpublisher(String publisher) {
         List<Book> booklist = bdi.getAllList(); 
         for (int i = 0; i <booklist.size(); i++) {
            Book booktemp=booklist.get(i);
            if(publisher.equals(booktemp.getPublisher())){
                System.out.println(booktemp.toString());
                System.out.println("查询成功!");
            }
         }
        return false;
    }
    /**
     * 根据书名查找图书
     */
    public boolean adbookname(String bookname){

         for (int i = 0; i <booklist.size(); i++) {
            Book booktemp=booklist.get(i);
            if(booktemp.getBookName().equals(bookname)){
                System.out.println(booktemp.toString());
            }
         }       
        return false;
    }
    /**
     * 增加图书
     */
    public boolean addbook(String ISBN, String bookName, String author,
            int pagenum, String publisher, int bookcount) {
        Book book=new Book(ISBN, bookName, author, pagenum, publisher, bookcount);
        for (int i = 0; i < booklist.size(); i++) {
              Book booktemp=booklist.get(i);
              if (booktemp.getISBN().equals(ISBN) || booktemp.getBookName().equals(bookName)){
                  System.err.println("您输入的图书已经存在了"); 
                  return false;
            }
        }
        bdi.addbook(book);
        System.out.println("新增成功!");
        return true;

    }
    /**
     * 修改图书修改数量
     */
    public boolean updatecount(String ISBN, int bookcount) {
        for (int i = 0; i <booklist.size(); i++) {
             Book booktemp=booklist.get(i);
             if(booktemp.getISBN().equals(ISBN)){
                 booktemp.setBookcount(bookcount);
                 System.out.println("修改成功");
             }       
        }   
        return false;
    }
    /**
     * 删除图书
     */
    public boolean deletebook(String ISBN) {
        for (int i = 0; i <booklist.size(); i++) {
             Book booktemp=booklist.get(i);
             if(booktemp.getISBN().equals(ISBN)){
                booklist.remove(i);
                System.out.println("删除成功"); 
             }else{
                 System.err.println("没有找到您要删除的图书编号!");
                 return true;
             }
        }
        return false;
    }
    /**
     * 注册
     */
    public void regist(String adid, String adpwd) {
        Admin admin = new Admin(admList.size() + 1, adid, adpwd);
        adi.insert(admin);
    }
}

UI界面:BookMenu类的代码

package com.Test;

import java.util.Scanner;

import com.Biz.BookBizImpl;
import com.entity.*;

public class BookMenu {
    Scanner input=new Scanner(System.in);
    BookBizImpl bookimpl=new BookBizImpl();
    Admin admtemp=null;

   public BookMenu(){
       bookimpl.bdi.init();
       bookimpl.adi.init();
   }
    /**
     * 登录菜单方法
     */
    public void showmenu(){
        while(true){
        System.out.println("------欢迎使用图书管理系统--------");
        System.out.println("-----------------------------");
        System.out.println("1、登录");
        System.out.println("2、注册");
        System.out.println("3、退出");
        int search=input.nextInt();
        switch (search) {
        case 1://登录
            System.out.println("请输入管理员账户和密码:");
            System.out.println("请输入用户名:");
            String adid=input.next();
            System.out.println("请输入密码:");
            String adpwd=input.next();
            boolean isloginsuceess=bookimpl.Admin(adid, adpwd);
            if (isloginsuceess==true) {
               showLoginMenu();
            }           
            continue;
        case 2://注册
            System.out.println("注册");
            System.out.println("请输入用户名:");
            String username1=input.next();
            System.out.println("请输入密码:");
            String password1=input.next();
            bookimpl.regist(username1, password1);
            continue;
        case 3://退出
            System.out.println("-----欢迎下次使用!------");
            System.exit(1);
            continue;
        default:
            showmenu();
            break;
        }
        }
    }
    /**
     * 登录成功后的后台操作
     */
    public void showLoginMenu(){
        while(true){
            System.out.println("------欢迎使用图书管理系统--------");
            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("-----------------------------");
            System.out.println("请选择您的服务项目(1-8):");
            int select=input.nextInt();
            switch (select) {
            case 1://显示所有图书
                ShowAllBook();
                break;
            case 2://根据作者查询图书
                selectAuthor();
                break;
            case 3://根据出版社查询图书
                selectPublisher();      
                break;
            case 4://根据书名查找图书
                selectBookName();
                break;
            case 5://增加图书
                insertBook();
                break;
            case 6://修改图书数量
                UpdateBookCount();
                break;
            case 7://删除图书
                delete();
                break;
            case 8://返回系统界面
                System.out.println("感谢您的使用,下次再见!");
                showmenu();
                break;
            default:
                showLoginMenu();
                break;
            }
        }

    }
     //显示所有图书的方法
     public void ShowAllBook(){
             bookimpl.showALLBook();
     }
     //根据作者查询图书
     public void selectAuthor(){
            System.out.println("请输入作者姓名:");
            String author=input.next();
            bookimpl.adauthor(author);
     }
     //根据根据出版社查询图书
     public void selectPublisher(){
            System.out.println("请输入出版社名称:");
            String publisher=input.next();
            bookimpl.adpublisher(publisher);
     }
     //根据书名查询图书
     public void selectBookName(){
            System.out.println("请输入查找的书名:");
            String bookname=input.next();
            bookimpl.adbookname(bookname);
     }
     //新增图书
     public void insertBook(){
        System.out.println("新增图书:");
        System.out.println("请输入新增图书编号");
        String isbn=input.next();
        System.out.println("请输入新增图书名称");
        String name=input.next();
        System.out.println("请输入新增图书作者");
        String author1=input.next();
        System.out.println("请输入新增图书页数");
        int pag=input.nextInt();
        System.out.println("请输入新增图书出版社");
        String pub=input.next();
        System.out.println("请输入新增图书数量");
        int count=input.nextInt();
         bookimpl.addbook(isbn, name, author1, pag, pub, count);
     }
     //修改图书数量
     public void UpdateBookCount(){
        System.out.println("请输入要修改的图书编号:");
        String ISBN=input.next();
        System.out.println("请输入要修改的图书数量:");
        int bookcount=input.nextInt();
        bookimpl.updatecount(ISBN, bookcount);
     }
     //删除图书
     public void delete(){
        System.out.println("准备删除书");
        System.out.println("请输入要删除的图书编号:");
        String is=input.next();
        bookimpl.deletebook(is);
     }
}

最后就是测试类(Test)的代码

package com.Test;
/**
 * 测试类
 * @author Administrator
 *
 */
public class TestBook {

    public static void main(String[] args) {
        BookMenu menu=new BookMenu();
        menu.showmenu();
    }

}

最后实现功能的部分截图:
这里写图片描述

这里写图片描述

这只是部分功能的截图效果,想要好的效果请亲自尝试一下
小编在这里先期待这个小项目会对大家有所帮助,有什么问题请及时联系小编.

猜你喜欢

转载自blog.csdn.net/cxb14897/article/details/81604887