三天打鱼两天晒网问题Java解法

该博客介绍了如何用Java实现判断任意日期是“打鱼”还是“晒网”,主要涉及日期处理和算法设计。通过输入日期,程序计算相隔天数并对其求模,以确定是第几天,从而判断是打鱼还是晒网。同时,博主分享了程序设计思路,包括控制台和文件输入输出,并进行了测试,强调了实际编程应用的重要性。
摘要由CSDN通过智能技术生成

题目:

中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。

算法分析:

核心算法就是利用Java提供的date类型,利用SimpleDateFormate来将输入的日期转化为date对象,利用时间戳做差计算出相隔天数,注意:该种方法最大优势在于不用考虑平闰年对天数的影响。将相隔天数对5求模,利用得到的余数,根据“三天打鱼两天晒网”的区间即可判定该日属于那一类型。

概要设计:
在这里插入图片描述
在这里插入图片描述
该程序实现分为两个途径:通过控制台输出结果,通过文件输入日期,通过文件输出结果。控制台方式,需要调取show方法,来进行输入验证与结果计算。文件输入方式,需要调取fileOper方法来对文件进行操作。

测试:
用户的输入规则规范:
在这里插入图片描述
正确规则输入:
在这里插入图片描述

调试:
(1)输入规则
用户输入:2001-1-1。
在这里插入图片描述
用户输入:2008
在这里插入图片描述
(2)按规则输入:2019-12-12
在这里插入图片描述
心得体会

三天打鱼两天晒网的算法本质上将相隔天数对5求模,利用得到的余数,根据“三天打鱼两天晒网”的区间即可判定该日属于那一类型。通过该程序的学习,我回顾了Java工具类及io操作,将所像内容变为程序代码,这个过程中,我通过查阅资料,了解如何提升程序性能,优化程序结构,进而加深了对程序方法学的理解。
通过将程序从构想到实现的整个过程,我也对Java基础知识的学习进行了回顾。在编程学习过程中,学会知识不算懂,而通过代码运用知识才算真正学会了。这提醒我不能只是看会编程,更应该能自己敲代码运用编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值