一.写主类

public class Message {

//属性
    private String name;
    private int state;
    private int date;
    private int count;

//构造器

public Message() {
        super();
    }

public Message(String name, int state, int date, int count) {
        super();
        this.name = name;
        this.state = state;
        this.date = date;
        this.count = count;
    }

//get set 方法

public String getName() {
        return name;
    }

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

public int getState() {
        return state;
    }

public void setState(int state) {
        this.state = state;
    }

public int getDate() {
        return date;
    }

public void setDate(int date) {
        this.date = date;
    }

public int getCount() {
        return count;
    }

public void setCount(int count) {
        this.count = count;
    }

}

二.初始化三本书

Scanner sc = new Scanner(System.in);
    Message[] arr = new Message[6];
    Message[] brr=new Message[4];
    // 原本就已经被借的书,创建代码块。创建对象代码块里面执行

Message m1 = new Message("罗马假日", 1, 1, 15);
        arr[0] = m1;
        Message m2 = new Message("白雪公主", 0, 0, 12);
        arr[1] = m2;
        Message m3 = new Message("葫芦兄弟", 0, 0, 30);
        arr[2] = m3;

三.完整图书管理系统代码

import java.util.Scanner;    public class Operate {Scanner sc = new Scanner(System.in);Message[] arr = new Message[6];Message[] brr=new Message[4];// 原本就已经被借的书,创建代码块。创建对象代码块里面执行{Message m1 = new Message("罗马假日", 1, 1, 15);arr[0] = m1;Message m2 = new Message("白雪公主", 0, 0, 12);arr[1] = m2;Message m3 = new Message("葫芦兄弟", 0, 0, 30);arr[2] = m3;}boolean flag2 = false;boolean flag3 = false;public int start() {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("-------------------------");System.out.println("请输入您想选择的序号");int input = sc.nextInt();return input;}public void choose(int input) {switch (input) {case 1:// 新增图书add();break;case 2://查看图书look();break;case 3:delete();//删除图书break;case 4:borrow();//借出图书break;case 5://归还图书revert();break;case 6:System.out.println("退出系统");break;default:System.out.println("您输入错误,请您重新输入");// 输入0时可以继续循环break;}}public boolean result() {System.out.println("请输入一个数字,输入0时返回");int i = sc.nextInt();return i == 0 ? false : true;}public void add() {System.out.println("-->新增图书\n");System.out.println("请输入图书名称:");String name = sc.next();System.out.println("请输入借阅状态");int jie = sc.nextInt();while (jie < 0 || jie > 1) {System.out.println("您输入错误请重新输入");jie = sc.nextInt();}System.out.println("请输入借出日期");int ri = sc.nextInt();while (jie < 0 || jie > 30) {System.out.println("您输入错误请重新输入");ri = sc.nextInt();}System.out.println("请输入借出次数");int ci = sc.nextInt();for (int i = 0; i < arr.length; i++) {if (arr[i] == null) {flag2 = true;Message message = new Message(name, jie, ri, ci);arr[i]=message;System.out.println("添加成功名字是:" + name);System.out.println("请输入借阅状态" + jie);System.out.println("请输入借出日期" + ri);System.out.println("请输入借出次数" + ci);break;}}if (!flag2) {System.out.println("抱歉,新增《" + name + "》失败!货架已满!");}}public void look() {System.out.println("查看图书");System.out.println("序号\t状态\t名称\t借出日期\t借出次数");for (int i = 0; i < arr.length; i++) {if (arr[i] != null) {String BookState = (arr[i].getState() == 0) ? "可借阅" : "已借出";String dateStr = (arr[i].getDate() == 0) ? "" : (arr[i].getDate() + "日");System.out.println((i + 1) + "\t" + BookState + "\t"+ arr[i].getName() + "\t" + dateStr + "\t"+ arr[i].getCount() + "次");}}}public void delete(){System.out.println("-->删除图书\n");System.out.println("请输入要删除图书的序号:");int delete=sc.nextInt();int index=-1;for(int i=0;i<arr.length;i++){if(arr[i]!=null&&arr[i].getState()==0&&delete==i+1){index=i;break;}else if(arr[i]!=null&&arr[i].getState()!=0&&delete==i+1){System.out.println("该图书已被借出,目前无法删除!");break;}}if(index!=-1){for(int j=index+1;j<arr.length;j++){arr[j-1]=arr[j];}System.out.println("图书删除成功!");}}public void borrow(){System.out.print("请输入想借图书名字:");String want=sc.next();System.out.println("请输入要借的日期,日期不能超过三十天");int day=sc.nextInt();while(day<0||day>30){System.out.println("您输入错误,请您重新输入");day=sc.nextInt();}for(int i=0;i<arr.length;i++){if(arr[i]==null){System.out.println("没有这本书,借书失败");break;}if(want.equals(arr[i].getName())&&arr[i].getState()==0){flag3=true;arr[i].setState(1);arr[i].setDate(day);    System.out.println("恭喜您,借书成功");break;}else if(want.equals(arr[i].getName())&&arr[i].getState()==1){flag3=true;System.out.println("已经被借出,不能再次外借");break;}}}public void revert(){System.out.print("请输入归还图书名称:");String want1=sc.next();for(int i=0;i<arr.length;i++){if(arr[i]==null){System.out.println("没有找到匹配信息!");break;}else if(want1.equals(arr[i].getName())&&arr[i].getState()==1){arr[i].setState(0);System.out.print("请输入归还日期:");int redate = sc.nextInt();while (redate < arr[i].getDate() || redate > 31) { // 归还日期不能小于借出日期,也不能大于31if (redate < arr[i].getDate()) {System.out.println("归还日期不能小于借出日期,请重新输入:");} else {System.out.println("一个月只有31天,请重新输入:");}redate = sc.nextInt();}System.out.println("\n归还《" + want1 + "》成功!");System.out.println("借出日期为:" + arr[i].getDate() + "日");System.out.println("归还日期为:" + redate + "日");break;}else if(want1.equals(arr[i].getName())&&arr[i].getState()==0){System.out.println("该图书没有被借出!无法进行归还操作。");break;}}}
}

四.测试

public class Test {public static void main(String[] args) {Operate o=new Operate();do{int start=o.start();o.choose(start);}while(!o.result());}}

java--面向对象----->图书管理系统相关推荐

  1. Java Web图书管理系统(MVC框架)-包含源码

    Java Web图书管理系统 一.前言 这是大二写的系统,因此这个系统并没有用到很多框架,只是使用了MVC框架,前端使用的是Layui框架.bootstrap框架.JSP技术.JSTL表达式和EL表达 ...

  2. Java Swing图书管理系统桌面软件附源码

    Java Swing图书管理系统桌面软件附源码,亲测可运行. 功能界面如下: 登录界面,默认账号admin密码admin 主功能界面: 添加图书功能界面: 部分源码: 完整源码下载地址: JavaSw ...

  3. Java web 图书管理系统

    本系统由java+sevlet+mysql+eclipse实现的Java web图书管理系统,具有增删改查以及导出Excel表格的功能,需要源码或者需要定制类似的Java /Java web/ ssm ...

  4. Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

    Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

  5. 大二小学期java:图书管理系统

    大二小学期java:图书管理系统 import java.util.*;import java.text.*;public class library {public static long char ...

  6. 计算机毕设(附源码)JAVA-SSM基于java的图书管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈: 项目 ...

  8. java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

  9. java+Mysql 图书管理系统(idea)

    目录 前言 部分界面截图 登录界面 注册界面 图书管理界面 关于我们界面 部分代码 登录界面 数据库工具类 前言 jdk 版本:openjdk version "11.0.12" ...

  10. java web 图书管理系统_图书管理系统,源代码 Java初级小项目

    今天再给大家分享一个小项目:MiNi图书管理系统.用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书.删除图书.借阅图书.归还图书.查看图书等简单的功能(后附源代码)! ...

最新文章

  1. 《中国人工智能学会通讯》——11.52 基于直推式学习的异质人脸图像 合成
  2. fastdfs详细安装教程
  3. NVM安装与使用(实现Node多版本控制)
  4. ICLR 2020 开源论文 | 隐空间的图神经网络:Geom-GCN
  5. 使用matlab工具研究神经网络的简单过程(网络和数据下载)
  6. 从汇编角度看待函数调用
  7. .NET Core 3.0中的新功能和增强功能
  8. Java 8 新特性001_Java 8 Optional 类
  9. 交什么样的朋友有什么样的天
  10. mysql可视化工具有哪些_有哪些用过一次就爱上的可视化工具?
  11. 模板能够让我们花更少的时间,得到更多的东西
  12. mybatis的二表联合查询
  13. iOS 关于单例那点事
  14. Linux UIO 驱动模型
  15. Rhino入门教程---渐消面
  16. 2021年安徽无为中学高考成绩查询,安徽省无为中学2021届高三年级这些学生,被表彰了...
  17. windows 用浏览器打开应用程序的方法
  18. java CreateProcess error=740 请求的操作需要提升的问题
  19. 回头看一看我的2017年
  20. storm - 简介

热门文章

  1. 蓝桥杯——漏掉的账目
  2. CMake I try_run与check_cxx_source_runs详解
  3. 已经拍好的照片怎么添加水印
  4. 使用支付宝沙箱演示支付宝支付
  5. 《贪婪之秋》——游戏主观评价及灵感提取
  6. JS获取昨天,前天,明天,后天的日期
  7. 《爸爸妈妈》——李荣浩
  8. SQL注入之access联合查询
  9. 关于光驱安装固态硬盘
  10. vue中sync的使用