简单用java做一个图书管理系统

首先,我们创建一个View类当做它的视图页

package view;import service.BookService;
import service.UserService;import java.util.Scanner;public class View {Scanner sc = new Scanner(System.in);BookService bookService = new BookService();UserService all = new UserService();/*** 主界面*/public void manuUI(){System.out.println("***********欢迎进入图书管理系统***********");System.out.println("请选择:");System.out.println("1:登录\n2:注册\n3:退出系统");int choose = sc.nextInt();switch (choose){case 1: loginUI();break;case 2: registUI();break;default: System.out.println("欢迎下次光临!!");break;}}/*** 登录UI界面*/public void loginUI(){System.out.println("***********欢迎进入图书登录系统***********");System.out.println("请输入用户名:");String username = sc.next();System.out.println("请输入密码:");String password = sc.next();if (all.getLogin(username,password)){   //true登录成功System.out.println("登录成功");mainUI();}else {System.out.println("用户名密码错误");manuUI();}}/*** 注册UI界面*/public void registUI(){System.out.println("***********欢迎进入图书注册系统***********");System.out.println("创建一个用户名:");String username = sc.next();System.out.println("创建一个密码:");String password = sc.next();if (all.getUser(username)) {    //注册失败System.out.println("注册失败,用户已存在");}else {     //注册成功passwordUI(password);all.getRegist(username,password);}manuUI();}/** 注册两次密码注册有误,则重新注册或返回上一级* */public void passwordUI(String password){System.out.println("请在输入一次密码");String password1 = sc.next();if (password.equals(password1)){System.out.println("注册成功");}else {System.out.println("两次密码输入不一致,请重新输入");registUI();}}/** 主界面* */public void mainUI() {System.out.println("***********欢迎进入图书馆主系统***********");System.out.println("请选择:");System.out.println("1:查看书籍列表\n2:借书\n3:还书\n4:返回上一个界面");int choose = sc.nextInt();switch (choose){case 1://查看书籍裂变checkBooks();mainUI();break;case 2://借书isBorrowBooks(0);break;case 3:isBorrowBooks(1);//还书break;default://退出系统manuUI();break;}}/** 查看书籍列表* */public void checkBooks(){System.out.println("序号\t\t\t名称\t\t\t状态\t\t\t");String[][] book = bookService.getBook();for (int i = 0; i < book.length; i++) {System.out.println(i+1 + "\t\t\t" + book[i][0] + "\t\t\t" + book[i][1]);}}/** 借书* */public void isBorrowBooks(int isJh){checkBooks();System.out.println("请输入:");int num = sc.nextInt()-1;//借还书是否成功if(bookService.isBorrowBooks(num,isJh)){    //成功借书的情况bookService.updateStatus(num,isJh);if (isJh == 0){//借书System.out.println("借书成功");}else {System.out.println("还书成功");}checkBooks();System.out.println("请输入任意值返回上一层");String anything = sc.next();mainUI();}else {//错误信息提示if (isJh == 0){ //借书System.out.println("借书失败");}else {System.out.println("还书失败");}mainUI();}}
}

其次,我们建立个Test类来当做我们的测试类

package test;import view.*;public class Test {public static void main(String[] args) {View ui = new View();ui.manuUI();}
}

再添加dao层做我们的数据层,用来存放数据做到增删改查
Userdao & Bookdao类

package dao;public class UserDao {public static String user[][] = {{"admin","123456"},{"admin1","888888"}};/** 展示用户信息* */
//    public void addUser(){//        for (int i = 0; i < user.length; i++) {//            System.out.println(user[i][0] + user[i][1]);
//        }
//    }/**** @param username 表示传入的用户名* @param password 表示传入的密码* @return*/public boolean addLogin(String username,String password){for (int i = 0; i < user.length; i++) {if (user[i][0].equals(username) && user[i][1].equals(password))return true;}return false;}/**** @param username 传入新增的用户* @return*/public boolean addUser(String username){for (int i = 0; i < user.length; i++) {if (user[i][0].equals(username))return true;}return false;}/***  添加用户* @param username 表示注册时的用户名不能一致*/public boolean addRegist(String username,String password){String newuser[][] = new String[user.length+1][2];//将老数组赋值给新数组for (int i = 0; i < user.length; i++) {     //数据复制newuser[i][0] = user[i][0];newuser[i][1] = user[i][1];}//添加新数组数据newuser[user.length][0] = username;newuser[user.length][1] = password;//覆盖老数组newuser = user;return true;}/*** */public boolean addPassWord(String password,String password1){if (password.equals(password1)){return true;}else {return false;}}
}
package dao;public class BookDao {public static String[][] book = {{"斗罗大陆","已借出"},{"斗破苍穹","未借出"},{"星辰变","未借出"},{"武动乾坤","未借出"},{"妖神记","未借出"}};/** 查看书籍* */public String[][] addBook(){return book;}/** 查看当前书籍状态* */public String addStatus(int num){return  book[num][1];}/** 更行书籍状态* */public void updataStatus(int num,String status){book[num][1] = status;}
}

再然后,我们建立一个service层用来处理我们的逻辑
分别为BookService&UserService类

package service;import dao.BookDao;public class BookService {BookDao bookDao = new BookDao();/** 查询书籍列表* */public String[][] getBook(){return bookDao.addBook();}/*** @param num* @param isJh isJh传入0和1,如果0则借书,否则还书    false为失败,true为成功* @return*/public boolean isBorrowBooks(int num,int isJh){String status = bookDao.addStatus(num);if (isJh == 0) {//借书if (status.equals("未借出")){return true;}else {return false;}}else{//还书if (status.equals("已借出")){return true;}else {return false;}}}public void updateStatus(int num,int isJh){if (isJh == 0){     //借书bookDao.updataStatus(num,"已借出");}else {bookDao.updataStatus(num,"未借出");}}
}
package service;import dao.UserDao;import java.util.Scanner;public class UserService {Scanner sc = new Scanner(System.in);UserDao user = new UserDao();/*** 登录**/public boolean getLogin(String username,String password){return user.addLogin(username,password);}public boolean getUser(String usermame){return user.addUser(usermame);}/** 注册* */public boolean getRegist(String username,String password){return user.addRegist(username,password);}/** 判断注册时第一次密码和第二次密码是否一致* */public boolean getPassWord(String password,String password1){return user.addPassWord(password,password1);}
}

简单用java做一个图书管理系统相关推荐

  1. hive导数据到mysql 自增主键出错_python+mysql做一个图书管理系统?

    开发一个图书管理系统,首先需要对此项目进行一个简单的需求分析: 主要功能包括: 图书信息 图书分类 用户信息 用户借阅统计 管理员 管理员权限 接下来可以进行数据库的设计,在这里我提供一个简单的数据库 ...

  2. python做数据库管理系统_python+mysql做一个图书管理系统?

    开发一个图书管理系统,首先需要对此项目进行一个简单的需求分析: 主要功能包括:图书信息 图书分类 用户信息 用户借阅统计 管理员 管理员权限 接下来可以进行数据库的设计,在这里我提供一个简单的数据库表 ...

  3. 用链表做一个图书管理系统

    这几天一直尝试去用链表写这个图书管理系统,本来想在图书管理系统中写个文件管理操作,写了挺久也没写对,最后只能在用户登录操作中写了个简单的文件管理操作.如果有哪里写的不好还请大家见谅!继续加油! 目录 ...

  4. java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...

    开题报告基于Java的酒店客房管理系统的设计与实现 毕业设计开题报告 课 题 名 称:基于Java的酒店客房管理系统的 设计与实现 姓 名: 班 级: 指 导 教 师: 所 在 系 部: 专 业 名 ...

  5. 用python3做一个图书管理系统(图形用户界面:tkinter)

    kongzhi.py#主控模块from socket import * from tkinter import * from ts_denglu import *s = socket() s.sets ...

  6. java做一个客房管理系统定制_Java实现酒店客房管理系统

    本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 LoginFrame.java package loginManage; import java.awt.Colo ...

  7. 用vb列表框做一个图书管理系统

    哈喽大家好,欢迎来到一起学VB课堂,今天我们将要学习列表框ListBox控件和组合框ComboBox控件,这两个控件在VB中是非常重要的控件,当然其难度也比前面学习的控件难度有所增加,这两个控件我会单 ...

  8. java做一个客房管理系统定制_管理皮孩子很难?来,教你一个java设计简单的学生管理系统...

    前言: 孩子不听话,那就系统的管理起来,啊哈哈哈哈 学生成绩管理系统 要求: 完善Student类,Student类包含学号.姓名.年级.专业.三门功课的成绩(英语.高数.计算机)的成员变量,完善成绩 ...

  9. Java 做一个健身房管理系统 nice

    互联网世界是一块试金石,不受欢迎的作品很快就湮灭在浩瀚的海洋里:而广受群众喜爱的作品,一定能冉冉升起.熠熠生辉. 开源而不是闭门造车,可以与千千万万的程序员交流并获得反馈,在交流与反馈中可以进一步提高 ...

最新文章

  1. spring-data-redis和jedis用法、区别
  2. php屏幕共享功能,利用无线投屏技术同屏直播,精彩随时共享
  3. angularJs自定义模块
  4. Openjudge-计算概论(A)-放苹果
  5. gulp webpack整合
  6. 【转】刨根究底CSS(1):开篇
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 10丨换座位【难度中等】
  8. go 链路追踪_Go技术日报(20200911)
  9. ubuntu16.04解压cudnn文件时报错,could not create a hard link file://xxx/cuda/lib64/libcudnn_static.a不完全解决方案
  10. 正版软件 - AxMath 专业的数学公式编辑器带计算功能 数学公式编辑器首选工具
  11. TechParty Mini+4 logging
  12. 解决 login.live.com onedrive.live.com 等微软国外网站打不开问题
  13. iOS控件使用和多样布局
  14. 一些很漂亮的字符图片
  15. 中国(吉林)首批援萨摩亚医疗队凯旋
  16. 网络管理之基础知识详解
  17. 去除字符串首尾空格(全角半角)
  18. Codeforces - Vowels
  19. 蚂蚁金服、滴滴们掀起A/H上市潮,它们能打破折溢价的烦恼吗?
  20. 绝知5G须躬行,带你了解多网聚合路由系统

热门文章

  1. xml格式数据转excel
  2. java制造null异常,java nullpointexception
  3. 软件测试面试屡战屡败?——我整理了一份超全面试题详解
  4. JVM优化和垃圾回收机制
  5. Python使用captcha制作验证码
  6. 01.面向对象设计原则实验
  7. 作为一名数据分析+人工智能调包侠,我天天在公司瞎捣鼓什么?
  8. TCP之PSH标志位
  9. SQL Server 查询某个数据库中的所有表名、某个表的字段名、字段类型、字段注释
  10. pip代理问题–ValueError: check_hostname requires server_hostname