iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现简单图书借阅系统
  • 482
分享到

Java实现简单图书借阅系统

2024-04-02 19:04:59 482人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了Java实现图书借阅系统的具体代码,供大家参考,具体内容如下 为图书阅览室开发一个图书借阅系统,最多可存50本图书,实现图书的管理。图书借阅系统具备以下主要功能。

本文实例为大家分享了Java实现图书借阅系统的具体代码,供大家参考,具体内容如下

为图书阅览室开发一个图书借阅系统,最多可存50本图书,实现图书的管理。图书借阅系统具备以下主要功能。

u功能

Ø借出排行榜

Ø新增图书

Ø查看图书

Ø删除图书

Ø借出图书

Ø归还图书

Ø退出

package com.daiinfo.seninorjava.ken8.implentment.utils;

import java.text.SimpleDateFORMat;
import java.util.Calendar;
import java.util.Scanner;

public class Bookborrowing {
    public static void main(String[] args){
        int[] states=new int[50];//图书借阅状态 状态0:已借出,1:可借
        int[] counts=new int[50];//图书借阅次数
        String[] name=new String[50];//图书名称
        String[] dates=new String[50];//图书日期
        //初始化图书
        states[0]=0;
        counts[0]=15;
        name[0]="数据结构";
        dates[0]="2018-7-15";
        
        states[1]=1;
        counts[1]=12;
        name[1]="数据库";
        dates[1]=null;
        
        states[2]=2;
        counts[2]=30;
        name[2]="离散数学";
        dates[2]=null;
        //外观界面
        Scanner input=new Scanner(System.in);
        int num=-1;//用户输入0返回主菜单
        boolean flage=false;//记录用户是否退出系统,true为退出,false为不退出
        do {
            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、退出");
            int choose=input.nextInt();
            switch(choose){
            case 0:
                int number=0;
                for(;name[number]!=null;number++) {
                    
                }//求出当前书目总数
                int[] sortBook=new int[number];
                printBook(name,counts,number,sortBook);
                break;
            case 1:
                System.out.println("------>新增图书");
                int a=0;
                for(;a<name.length;a++) {
                    if(name[a]==null) {
                        System.out.println("请输入图书名称");
                        name[a]=input.next();//录入书名
                        System.out.println("/n"+"新增《"+name[a]+"》成功!!!");
                        
                        //将图书信息存入数组
                        states[a]=1;
                        counts[a]=0;
                        dates[a]=null;
                        break;
                    }
                }
                if(a==50) {
                    System.out.println("书架已满,勿加");
                }
                System.out.println("******************************");
                break;
            case 2:
                System.out.println("------>查看图书");
                System.out.println("序号\t状态\t名称\t借出日期\t");
                for(int i=0;name[i]!=null;i++) {
                    String situation=(states[i]==0)?"已借出":"可借";
                    System.out.println((i+1)+"\t"+situation+"\t《"+name[i]+"》\t");
                    if(states[i]==0) {
                        System.out.println(dates[i]);
                    }else {
                        System.out.println();
                    }
                }
                System.out.println("*******************************");
                break;
            case 3:
                System.out.println("------->删除图书");
                System.out.println("请输入图书名称");
                String book=input.next();
                boolean check1=false;//判断是否找到删除图书名称,false找不到
                for(int b=0;name[b]!=null;b++) {
                    if(name[b].equals(book)) {
                        check1=true;
                        if(states[b]==1) {
                            //图书未借出,可以删除
                            System.out.println("删除《"+book+"》成功!");
                            int i=b;
                            for(;i<name.length-1;i++) {
                                states[i]=states[i+1];
                                name[i]=name[i+1];
                                dates[i]=dates[i+1];
                                counts[i]=counts[i+1];
                            }//将数组内容前移
                            break;
                        }else {
                            System.out.println("图书已借出,无法删除!");
                            break;
                        }
                    }
                }
                if(check1==false) {
                    System.out.println("没有找到匹配信息!");
                }
                System.out.println("*************************");
                break;
            case 4:
                System.out.println("--------->借出图书");
                System.out.println("请输入图书名称:");
                String back=input.next();
                boolean check2=false;//判断想要借出的书能否找到,false找不到,true找到
                for(int b=0;name[b]!=null;b++) {
                   if(name[b].equals(back)) {//书存在
                       check2=true;
                       if(states[b]==1) {
                           System.out.println("请输入借出日期(年-月-日):");
                           dates[b]=input.next();
                           while(judge(dates[b])==false) {
                               System.out.println("日期非法,请重新输入");
                               dates[b]=input.next();
                           }
                           states[b]=0;//将当前图书状态调成借出
                           counts[b]++;//当前图书借出次数加一
                       }else {
                           System.out.println(name[b]+"已被借出!");
                       }
                       break;
                   }
                }
                if(check2==false) {
                    System.out.println("没有找到匹配信息!");
                }
                System.out.println("*********************************");
                break;
            case 5:
                System.out.println("--------->归还图书");
                System.out.println("请输入图书名称:");
                String back1=input.next();
                boolean check3=false;//判断归还的书能否找到,false找不到,true找到
                for(int b=0;name[b]!=null;b++) {
                       if(name[b].equals(back1)) {//书存在
                           check3=true;
                           if(states[b]==0) {//如果书借出
                               System.out.println("请输入归还日期(年-月-日):");
                               String returnDate=input.next();
                               while(judge(returnDate)==false) {
                                   System.out.println("日期非法,请重新输入");
                                   returnDate=input.next();
                               }
                               System.out.println("归还《"+back1+"》成功!");
                               System.out.println("借出日期"+dates[b]);
                               System.out.println("归还日期"+returnDate);
                               int money=0;
                               try {
                                   money=daysBetween(dates[b],returnDate);
                                   }catch(Exception e) {
                                       e.printStackTrace();
                                   }
                               System.out.println("该书没有被借出,无法执行操作");
                               }
                           break;
                           }
                       }
                if(check3==false) {
                    System.out.println("没有找到匹配信息!");
                }
                System.out.println("*********************************");
                break;
            case 6:
                flage=true;
                break;
                default:
                flage=true;
                break;
            }
            if(flage==true) {
                break;
            }else {
                System.out.println("输入0返回");
                num=input.nextInt();
            }
        }while(num==0);
        System.out.println("谢谢使用!");
    }


    private static boolean judge(String str) {
        // TODO Auto-generated method stub
        SimpleDateFormat sd=new SimpleDateFormat("yy-MM-dd");//日期格式
        try {
            sd.setLenient(false);//指定日期时间是否合格,true不合格,false合格
            sd.parse(str);
        }catch(Exception e){
            return false;
        }
        return true;
    }
    public static void printBook(String[] names,int[] sortBook,int number,int[] counts) {
        int[] another=counts.clone();//复制数组
        int i=0;
        int max=another[0];
        for(int p=0;p<=max;p++) {
            for(int q=0;q<number;q++) {
                if(counts[q]==p) {
                    sortBook[i++]=q;
                }
            }
        }
        System.out.println("序号\t"+"书名\t"+"借出次数");
        for(int x=(number-1);x>=0;x--) {//借出次数排行榜
            System.out.println((number-x)+"\t"+names[sortBook[x]]+"\t\t"+counts[sortBook[x]]);
        }
        System.out.println("******************");
    }
    public static int daysBetween(String smdate,String bdate) throws Exception{
        SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd");
        Calendar cal=Calendar.getInstance();
        cal.setTime(sdf.parse(smdate));
        long time1=cal.getTimeInMillis();
        cal.setTime(sdf.parse(bdate));
        long time2=cal.getTimeInMillis();
        long between_days=(time2-time1)/(1000*3600*24);
        return Integer.parseInt(String.valueOf(between_days));
    }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现简单图书借阅系统

本文链接: https://www.lsjlt.com/news/142101.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现简单图书借阅系统
    本文实例为大家分享了Java实现图书借阅系统的具体代码,供大家参考,具体内容如下 为图书阅览室开发一个图书借阅系统,最多可存50本图书,实现图书的管理。图书借阅系统具备以下主要功能。...
    99+
    2024-04-02
  • java实现简单的图书借阅系统
    本文实例为大家分享了java实现简单图书借阅系统的具体代码,供大家参考,具体内容如下 直接看代码: package ttt; import java.awt.BorderLayout...
    99+
    2024-04-02
  • Java如何实现简单图书借阅系统
    这篇文章主要介绍“Java如何实现简单图书借阅系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何实现简单图书借阅系统”文章能帮助大家解决问题。为图书阅览室开发一个图书借阅系统,最多可存5...
    99+
    2023-06-29
  • Java实现简易图书借阅系统
    在简单学习Java的基础知识点后,动手做了一个十分简陋的图书馆借阅系统,作为对所学知识的综合应用,有不足的地方希望大家多多评论,会积极进行改正。 1.先附上总的效果 一开始的登录界面...
    99+
    2024-04-02
  • Java实现图书借阅系统
    今天这个是一个Java小练习,一个图书借阅系统,需要实现的功能有: 判断用户是否需要进行借书在用户选择借书时,展示出图书列表图书列表包含 图书序号、图书名称、借阅价格、作者用户选择借...
    99+
    2024-04-02
  • 如何使用java实现简单的图书借阅系统
    这篇文章将为大家详细讲解有关如何使用java实现简单的图书借阅系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下直接看代码:package ttt;import java....
    99+
    2023-06-29
  • Java实现图书馆借阅系统
    本文实例为大家分享了Java实现图书馆借阅系统的具体代码,供大家参考,具体内容如下 Main.java package com.src1.booksystem; import co...
    99+
    2024-04-02
  • 怎么用Java实现图书借阅系统
    这篇文章主要介绍“怎么用Java实现图书借阅系统”,在日常操作中,相信很多人在怎么用Java实现图书借阅系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Java实现图书借阅系统”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • python实现图书馆借阅系统
    今天我们的任务可是带有浓烈的人文气息——编写一个图书管理系统的程序。先请我们的主人公登场,给我们讲讲他的需求吧。 朋也是大学班上的文娱委员,他留意到周围同学经...
    99+
    2024-04-02
  • Python实现图书借阅管理系统
    本篇文章将编写一个python简易的图书借阅管理系统,可以实现一些基本的功能。 图书借阅管理系统需求分析: 1. 书籍的属性信息:书名, 作者, 借阅状态(借出数量, 未借的数量)2...
    99+
    2024-04-02
  • Python连接Mysql实现图书借阅系统
    相信大家在学习python编程时绝对离不开数据库的连接,那么我们就用python来连接数据库实现一个简单的图书借阅系统。其实也很简单,就是在我们的程序中加入sql语句即可 数据库的表...
    99+
    2024-04-02
  • python怎么实现图书馆借阅系统
    本篇内容主要讲解“python怎么实现图书馆借阅系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现图书馆借阅系统”吧!希望这个简易的程序可以做到:代码如下:class&nbs...
    99+
    2023-06-29
  • Python怎么连接Mysql实现图书借阅系统
    这篇“Python怎么连接Mysql实现图书借阅系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么连接Mys...
    99+
    2023-06-29
  • 基于PHP+MySQL的图书馆图书借阅系统
    基本每一个高校都有自己的图书馆,图书馆是一个知识的海洋,所以基本每个学生都喜欢到图书的海洋中选择自己喜欢的图书进行阅读,但是很多时候可能不能够一直呆在图书馆看书,所以就要对图书进行借阅并在规定的时间内...
    99+
    2023-10-03
    php mysql 数据库
  • java实现简单图书管理系统
    本文实例为大家分享了java实现简单图书管理系统的具体代码,供大家参考,具体内容如下 JAVA练习的作业,题目如下: 设计一个图书管理系统类和用户类,要求具有以下功能: (1). 查...
    99+
    2024-04-02
  • 学校图书借阅管理系统(MySQL)
    文章目录 一.需求分析1.1项目需求分析简介1.2数据字典1.2.1数据项1.2.2数据结构 二.数据库概念结构设计2.1数据流图2.2数据库逻辑结构设计 三.数据库物理结构设计...
    99+
    2023-09-15
    mysql 数据库
  • java实现简单的图书管理系统
    本文实例为大家分享了java实现简单的图书管理系统的具体代码,供大家参考,具体内容如下 一、项目分布 Book类: 定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的...
    99+
    2024-04-02
  • 如何使用MySQL和Java实现一个在线图书借阅系统
    如何使用MySQL和Java实现一个在线图书借阅系统引言:随着现代社会信息化的推进,越来越多的人选择在互联网上借阅图书。为了方便用户借阅图书,需要建立一个高效、可靠的在线图书借阅系统。而MySQL和Java是目前应用最广泛的关系数据库和编程...
    99+
    2023-10-22
    MySQL Java 在线图书借阅系统
  • C语言实现图书借阅系统的代码怎么写
    本文小编为大家详细介绍“C语言实现图书借阅系统的代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言实现图书借阅系统的代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 #includ...
    99+
    2023-06-29
  • 4.2 图书借阅系统数据库设计 --MySQL
    本文目录 前言一、背景和需求分析1.1 背景1.2 信息需求1.3 功能需求管理员学生 1.4 数据流图 二、概念结构设计1. 抽象出系统实体2. 局部E-R图2.1 学生 E-R图2.2 借阅证 E-R图2.3 图书...
    99+
    2023-08-16
    数据库 mysql ER图 表结构设计 关系模型转换 原力计划
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作