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();
}
}
最后实现功能的部分截图:
这只是部分功能的截图效果,想要好的效果请亲自尝试一下
小编在这里先期待这个小项目会对大家有所帮助,有什么问题请及时联系小编.