JAVA入门_工具类_书籍借阅日期计算

  • 实验要求
  • 工具类DateUtils
  • 主类
  • 运行结果

实验要求

根据书籍借阅的天数计算归还日期。
1. 业务说明:
1.1. 本实验以图书馆借阅书籍为业务背景。
1.2. 图书馆书籍归还时间规定如下:
1)任何书籍自借阅日起,15天内必须归还(标准极限时间)。
2)用户也可以明确告知图书馆书籍的归还日期,例如:10天后归还。
3)用户自定义的书籍归还日期,不能超过图书馆规定的极限时间:15天。
2. 创建工程并配置环境
3. 创建工具类:
3.1. 创建工具类:DateUtils
业务说明:
1) 工具类是系统开发中常见的组件,它用于提供各种计算函数。
2) 为方便在实际生产环境中调用,工具类内的计算函数均为静态函数。
3.2. 技术常识:本实验需确保工具类DateUtils不可被继承。
3.3. 技术常识:本实验需确保工具类DateUtils不可被实例化。
1-4. 创建归还日期计算函数:
4.1. 函数名:getReturnDate
4.2. 该函数以系统时间为基准,按用户自定义的归还日期计算书籍的归还日。
4.3. 书籍归还日期虽可以由用户自定义,但是不能超过15天。
1-5. 创建标准归还日期计算函数:
5.1. 函数名:getReturnDate
5.2. 该函数定义成函数重载形式。
5.3. 该函数以系统时间为基准,计算图书馆规定的书籍极限归还日期(15天)。
6. 使用工具类:
6.1. 创建主类:MainClass
6.2. 调用标准归还日期计算函数,获得书籍的极限归还日期。
6.3. 向控制台输出:“图书馆规定最晚归还日期:” + 书籍的极限归还日期。
6.4. 调用归还日期计算函数,按用户输入的归还日期获得书籍归还日。
1)如函数返回null,输出:“借阅时间过长。”
2)否则,输出:“书籍实际归还日期:” + 书籍归还日。

工具类DateUtils

public final class DateUtils {   // 防止被其他类继承// 定义图书馆规定的标准书籍借阅归还日期常量public static final int STANDARD_RET_DATE = 15;private DateUtils() { // 防止被实例化super();}// 根据自定义借阅天数计算书籍归还日期public static String getReturnDate(int divDate) {if (divDate > STANDARD_RET_DATE)return null;else {Date date = new Date();SimpleDateFormat returnDate = new SimpleDateFormat("yyyy-MM-dd");return returnDate.format(date.getTime() + divDate * 24 * 60 * 60 * 1000);}}// 根据图书馆规定的标准借阅天数计算书籍归还日期public static String getReturnDate() {return getReturnDate(STANDARD_RET_DATE);}
}

主类

public class MainClass {public static void main(String[] args) {System.out.println("图书馆规定最晚归还日期:" + DateUtils.getReturnDate());if (DateUtils.getReturnDate(10) != null) // 测试借阅天数10System.out.println("书籍实际归还日期:" + DateUtils.getReturnDate(10));elseSystem.out.println("借阅时间过长");}
}

运行结果

JAVA入门_工具类_书籍借阅日期计算相关推荐

  1. java订单编号工具类_[idmiss-common] Java 工具类之- 顺序订单号的生成

    1.前言 这是我写的工具类之一:根据日期生成唯一顺序订单号. 用Java 配合 Redis 实现包含日期的顺序订单号的生成, 效率可以达到 2500+/s 1000W+/h 个 . 2.基本介绍 框架 ...

  2. Java正则表达式校验工具类_【Java工具类】----正则表达式校验工具类

    /** * @Title: RegexValidateUtil.java * @Package org.csun.nc.util * @Description: TODO * @author chis ...

  3. java 克隆对象工具类_关于dorado-core源码包中CloneUtils克隆工具类对对象进行克隆复制操作...

    一.前言 基于dorado.core.jar开源包中的com.bstek.dorado.util.CloneUtils克隆工具类,对对象进行通过java.lang.reflect.Method映射克隆 ...

  4. java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...

    一.前言 通过dom4j解析XML文档的XMLDocUtil工具类,进行解析xml字符串为Document文档对象.获取根节点元素路径内容getRootElement.获取唯一路径节点的值getSin ...

  5. java+基于dom4j工具类_基于dom4j的xml映射实体的工具类(java)

    基于dom4j的xml映射实体的工具类(java) 工具是基于dom4j,使用反射使实体属性与xml的标签关联,目前兼容List,Map后续更新兼容. 历史更新: 发布-2019-6-22 增加注解@ ...

  6. java文件头工具类_判断文件类型工具类

    package com.huawei.fileExerise; import java.io.FileInputStream; import java.io.IOException; import j ...

  7. java 创建数组工具类_用Java创建数组工具类ArrayTool

    起步阶段写的代码,欢迎大家批评指正! public class ArrayTool { /** The constructor of the class ArrayTool,which is empt ...

  8. java 文本工具类_干货:排名前16的Java工具类

    原标题:干货:排名前16的Java工具类 作者丨Java技术栈 https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Ja ...

  9. java工具类_非常实用的Java工具类,拿走不谢(一)

    一.时间工具类:格式化时间.计算时间 (1)DateUtils.java package com.lhf; import java.text.SimpleDateFormat; /** * 日期格式化 ...

  10. 什么是java工具类_常用高效 Java 工具类总结

    一.前言 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码 ...

最新文章

  1. python输入字符串从大到小排列_791. 自定义字符串排序(Python)
  2. 二维字符数组按长度排序_字符串长度 字符数组长度
  3. 「Python-OpenCV」setMouseCallback传回选取的像素坐标
  4. 杭电 1284 钱币兑换问题【完全背包求方案总数】
  5. C++ functor 仿函数
  6. android 动态壁纸
  7. python中%s是什么意思_python中的%s%是什么意思
  8. java 网络请求 生成本地图片
  9. cad字体hztxt用什么代替_为什么CAD的字体库相同但打开图纸的效果却不同?
  10. Ubuntu下Eclipse中文乱码解决
  11. moodle基本配置
  12. 深度学习推荐系统--协同过滤推荐算法+实现代码
  13. 【Rosalind】Mortal Fibonacci Rabbits
  14. Windows平台上使用Qt(MinGW)调用基于VS编写的周立功CAN卡Dll文件
  15. word怎么自动换行
  16. Objective C范型
  17. 2016年linux认证考试,2016年Linux认证考试模拟练习及答案
  18. android定位周边,Android 使用高德SDK编写周边搜索定位
  19. Gradle plugin requires a newer IDE able to request IDE model level 3.
  20. /.bash_profile 到底在哪里 (Macbook)

热门文章

  1. MATLAB教程(二)matlib安装
  2. cvCalcBackProject() 直方图反向投影匹配
  3. matlab阅读怎么放大镜,matlab局部放大
  4. 数据库__配置ODBC及附加数据库的方法
  5. 【转】【深度学习MobileNet】——深刻解读MobileNet网络结构
  6. OpenMP简介和基本命令
  7. matlab 读取同一文件中所有图像_matlab 批量读取文件夹内所有图片的几种方法
  8. Windows系统历史版本简介
  9. OpenSSL密码库算法笔记——第6.5章 密钥协商
  10. 基于Jackson2的JsonSchema实现java实体类生成json(一)