java 显示日历_JAVA显示日历(已知年和该年第一天为星期几)
这是我个人对这个题目理解,可能有些杂乱,仅供参考。
题目:
编写程序,提示用户输入年份和代表该年第一天是星期几的数字,然后在控制台上显示该年的日历表。
控制台显示结果如下:(我用_代表空格)
图1:以2018年为例
首先,说一下我认为在做这道题之前需要想到的几个要点:
1,首先,要判断输入的年份是平年还是闰年,判断闰年的条件是能被4整除且不能被100整除,或能 被400整除
这里,我写了一个单独的函数用来表示
图2:判断是否为闰年
2,第二,判断完平年还是闰年之后,还需要得出每月的天数,需要注意,2月的天数和平年闰年有关系
这里我使用的是switch语句,也可以使用循环等获取天数,2月的天数调用了前面判断是否为闰年的方法
图3:判断每个月的天数
3,最后,在知道每个月的天数后,需要知道这个月的第一天从星期几开始,这时就需要获取每个月开始的星期数:(上个月的天数%7+上个月第一天的星期数)%7
这里第一个月的星期数是由用户手动输入获取的,所以,第一个月的星期数,就是他本身,第二个月的星期数是前面一个月,也就是第一个月的星期数,用递归调用比较方便
图4:获取每个月第一天是星期几
当我写到这里的时候,我还没考虑7天换行的问题,就只是看能不能在正确的位置输出每个月的一号,于是开始写main函数
此处,kl为我的类名,(注:类名首字母要大写,不要像我一样小写),_代替空格
图5:main函数内部实现
通过运行后,得出下图所示的结果:
图6:没写换行的运行结果
说实话,看到这个结果,着实吓了一跳,随即,我就发现,我没写换行,但是每个月的第一天所在星期数是正确的,还是窃喜了一小下
接下来就开始换行的操作
换行的话,就是每到周六就换行,Sun对应的值是0,Sat对应的是6,也就是说,要判断当days为6时换行,就是判断days为星期几,我的思路是,当天的日期加上这个月开始的星期数余7就是当前日期的星期数,但是要注意,这个月开始的星期数是从0开始的,所以,总的来说:
当前日期的星期数= (当前日期+这个月开始的星期数-1)%7
图7:判断当前天数是星期几
判断完当前天数之后,就要在main函数里使用了,使用要
判断当前天数是否为周6,进行换行:
将以下语句放在图5的红线出即可,在if条件里调用dWeak函数
图8:判断是否为周六
这样就可以了,运行结果后,就会出现图1的样式
以上,是我在写完之后的一些理解,如果有更好的方式欢迎告知(^w^)
最后,用一张图片结束吧
java 显示日历_JAVA显示日历(已知年和该年第一天为星期几)相关推荐
- java实现手机日历_Java实现日历
主要功能:提示用户输入年份以及月份,打印出其月份的月历. 函数实现:由已知1900年1月1日为星期一,将这天与所求的月份之间的天数求出来,模7,得到所求月份的第一天为星期几.其次,对月份的天数实现,则 ...
- java程序设计 日历_JAVA程序设计(日历记事本)
JAVA程序设计(日历记事本) import java.util.Calendar; import javax.swing.*; import java.awt.*; import java.awt. ...
- 算法分析:芯片测试问题 非递归 JAVA 有n片芯片,已知好芯片比坏芯片至少多1片......
[芯片测试]有n片芯片,已知好芯片比坏芯片至少多1片.现在需要通过测试从中找出1片好芯片,测试方法如下:将2片芯片放到测试台上,2片芯片互相测试并报告测试结果(即好或者坏):其中,好芯片的报告是正确的 ...
- java icon显示图片_java显示ico格式图片
展开全部 不知道你是不是要这种效果 代码如下: //要求:在JFrame里面显示一个ico格式的图片,放在JPanel,JLable,或32313133353236313431303231363533 ...
- java 显示中文_java显示中文乱码的解决方法
java显示中文乱码的解决方法 发布时间:2020-06-16 11:08:43 来源:亿速云 阅读:97 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java显示中文乱码的解决方法,代码非常 ...
- java中输出日历_Java输出日历写法
package TestString_2; import java.text.ParseException; import java.util.Calendar; import java.util.G ...
- java显示图片_java显示图片的方法
java显示图片的方法 applet能显示GIF,JPEG,BMP等其他格式的图片.为了在applet中显示图片,你需要使用java.awt.Graphics类的drawImage()方法.以下是小编 ...
- java显示图片_Java 显示图片的方法
下面是两种显示图片的简单方法: package org.bruce.vertices.asist.experiments; import java.awt.BorderLayout; import j ...
- java 异常提示_Java显示异常信息与异常分类
运行上述代码,输出结果如下下图所示: 使用printStackTrace方法可以获取异常的具体类型,这样就可以在使用throw是抛出一个确切的异常. 2. 异常的分类 从编程角度考虑,可以将异常分为以 ...
最新文章
- Ubuntu:安装deb文件包
- 服务器中同一个【ip:port】可以多次accept的问题
- 【转】光栅化操作阶段
- 几种比较好看的滚动条样式及代码
- phpcmsV9 QQ登录问题分析 - 踩坑篇
- 曲线相似度衡量——曲线距离计算Fréchet distance详解与python计算
- 生产是什么意思_俗话说:“牛遇无春年,出力好耕田”是啥意思?有什么道理?...
- vue使用ajax库,Vue 中使用Ajax请求
- 1.4 案例:广告预测、房价预测
- 原 SpringFramework核心技术五:Spring AOP API
- 高德地图No implementation found for long com.autonavi.amap.mapcore.MapCore
- Maven 引入 ojdbc:ojdbc14-10.2.0.4.0.jar
- matlab d函数,matlab常用函数大集合
- Symbol 类型 的简单理解和应用
- anaconda conda 切换为国内源
- Java 七参数计算
- Python爬虫——selenium模拟京东网站登录(一)
- Gradle sync failed: Sync failed: reason unknown
- 工业机器人 郝卫东_智能保安巡逻机器人论文
- 《Linux驱动:Nor flash驱动看这一篇就够了》