图书借阅逾期提醒功能通过日期差计算和条件判断实现:未逾期提示“按时归还”,逾期1-7天提示“尽快归还”,超7天提示“需缴纳罚款”;推荐使用LocalDate和ChronoUnit.DAYS.between()精确计算天数差,避免Date类的时区与可变性问题;关键在于正确处理边界情况和if-else分支顺序。

在Java编程中,图书借阅逾期提醒功能是一个典型的时间判断与条件分支结合的应用场景。通过这个练习,可以掌握如何使用日期处理和if-else结构来实现业务逻辑。
需求说明
图书馆规定每本书的借阅期限为14天。系统需要根据当前日期与归还日期的差值判断是否逾期,并输出相应提示:
未逾期:显示“图书未逾期,按时归还!”逾期1-7天:显示“已逾期,请尽快归还!”逾期超过7天:显示“严重逾期,需缴纳罚款!”
使用Date类进行时间判断
Java中可以通过java.util.Date获取当前时间,并与设定的归还日期比较。关键在于计算两个日期之间的天数差。
示例代码:
立即学习“Java免费学习笔记(深入)”;
import java.util.Date;import java.text.SimpleDateFormat;public class BookReturnReminder {public static void main(String[] args) {// 模拟借书日期(例如:两周前)SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");long borrowTime = System.currentTimeMillis() - (14 24 60 60 1000L); // 14天前Date returnDeadline = new Date(borrowTime + 14 24 60 60 1000L); // 到期日
Date today = new Date(); long diffInMillis = today.getTime() - returnDeadline.getTime(); int overdueDays = (int)(diffInMillis / (24 * 60 * 60 * 1000)); if (overdueDays = 1 && overdueDays 7) { System.out.println("严重逾期,需缴纳罚款!"); } else { System.out.println("今日到期,建议立即归还。"); }}}
博思AIPPT
博思AIPPT来了,海量PPT模板任选,零基础也能快速用AI制作PPT。
117 查看详情
![]()
改用LocalDate更简洁安全
从Java 8开始推荐使用java.time.LocalDate,避免Date类的可变性和时区问题。
更新后的代码示例:
import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class BookReturnReminderModern {public static void main(String[] args) {LocalDate borrowDate = LocalDate.of(2025, 3, 1);LocalDate dueDate = borrowDate.plusDays(14); // 14天后到期LocalDate today = LocalDate.now();
long overdueDays = ChronoUnit.DAYS.between(dueDate, today); if (overdueDays < 0) { System.out.println("图书未逾期,按时归还!"); } else if (overdueDays <= 7) { System.out.println("已逾期,请尽快归还!"); } else { System.out.println("严重逾期,需缴纳罚款!"); }}}
关键逻辑解析
核心是准确计算逾期天数并合理划分条件分支:
利用ChronoUnit.DAYS.between()获取两个日期间的整数天数注意:如果today早于dueDate,结果为负数,表示未到期if-else顺序要正确,先判断最小范围,再覆盖更大范围测试时可手动设置borrowDate模拟不同情况
基本上就这些。掌握日期差值计算和条件判断顺序,就能灵活应对类似提醒类功能开发。不复杂但容易忽略边界情况,比如刚好到期那天的处理。
以上就是Java编写图书借阅逾期提醒_条件分支与时间判断练习的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/963723.html
微信扫一扫
支付宝扫一扫