Java万年历程序

article/2025/10/21 13:28:23

【程序说明】该程序实现了输出任意一年的日历,并输出该年中任意一天是该年的第几周。

【规定】①闰年366天,2月29天;平年365天,2月28天。

             ②周日为某月的第一天,周六为该月的最后一天。

             ③某年的1月1号为该年的第一天,属于该年的第一周。

程序运行结果部分截图如下:

 【注意】2018.01.31和2018.02.01同属于2018年的第5周!

代码如下-Java:

public class WanNianLi {//某年是否是润年public static boolean isLeapYear(int year){boolean isOK;isOK = year%4==0 && year%100!=0 || year%400==0 ? true:false;return isOK;}//某年有多少天public static int yearDays(int year){int days;//润年366天二月29天,平年365天二月28天return days = isLeapYear(year) ? 366 : 365;}//某年某月有多少天public static int yearMonthDays(int year,int month){int days = 0;switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2:days = isLeapYear(year)?29:28;break;}return days;}//某年某月第一天距离2000.01.01有多少天public static int yearMonthDayTo20000101(int year,int month){int days = 0;if(year>=2000){//年for (int i = 2000; i < year; i++) {days += yearDays(i);}//月for (int j = 1; j < month; j++) {days += yearMonthDays(year,j);}}else{//eg:1998.06.01for (int i = year+1; i<2000; i++) {days += yearDays(i);}for(int j = month ; j<=12; j++){days += yearMonthDays(year, j);}}return days;}//某年某月1号是星期几public static int weekDay(int year, int month){int dayNum = 99;//周日记为0,周六记为6,99代表错误int n = yearMonthDayTo20000101(year,month);if(year>=2000){dayNum = (6+n)%7;}else{dayNum = 6-n%7;}return dayNum;}//静态变量weekNum表示一天中的某一天属于该年的第几周static int weekNum = 0;//周数//显示某年某月的日历public static void displayYearMonth(int year, int m) {System.out.println("\t\t     ————"+year+"———"+m+"————");System.out.println("日\t一\t二\t三\t四\t五\t六\t周");int count = 0;//定义一个计数器,记录当前将要输出的天在日历表中的位置。例如2018.1.1的count=1count = weekDay(year, m);//日历的第一行空多少格,count[0,6]for(int j = 0; j < count; j++)//空count-1格,第count的位置打印1号System.out.print("\t");for(int i = 1; i <= yearMonthDays(year, m); i++){if( (count+1)%8 == 0 ){//该输出周数weekNum的时候System.out.println(++weekNum);count++;}System.out.print(i+"\t");//输出号数count++;//例如2018.01,i=31输出后的count=36,if(i==yearMonthDays(year, m)){//输出某月最后一天时if( (count+1)%8 != 0){//如果该月的最后一天不是周六do {System.out.print("\t");count++;} while ( (count+1)%8 != 0);//当满足条件是继续循环,直到不满足条件时结束循环}System.out.println(++weekNum);	weekNum--;//因为该月的最有一天不是周六,所以下月的第一天与该月的最后一天时同一周}}}//显示某年的日历public static void displayYear(int year){for(int m = 1; m <=12; m++){displayYearMonth(year,m);System.out.println();}}public static void main(String[] args) {displayYear(2018);//输出2018年的日历
//		displayYearMonth(2018,1);//输出2018年1月的日历
//		weekDay(2018,6);//输出2018年6月有几天
//		yearMonthDayTo20000101(2018,1);//输出2018年1月1日距离2000.01.01有几天}}

 


http://chatgpt.dhexx.cn/article/nK3xfwyT.shtml

相关文章

Java 实现万年历

通过Java的基本语法来实现我们的万年历 请看代码 public class CalDate{public static void main(String[] args&#xff09;{Scanner sc new Scanner(System.in);System.out.println("请输入年&#xff1a;");int year sc.nextInt();System.out.println("请…

C++万年历程序

C万年历 文章目录 C万年历一、运行结果二、源代码 一、运行结果 二、源代码 #include<iostream> #include<stdio.h> #include<string.h> #include<iomanip> using namespace std;class Calendar{ public :Calendar(){TotalDays 0;MonthDays 0;};voi…

编写万年历程序时的一些意外收获

前些天在CSDN每日一练上做到了万年历程序的一道题&#xff0c;觉得很有意思&#xff0c;于是便尝试自己写写看&#xff0c;结果遇到了“公元1年1月1日是星期几”这个问题。拿着手机翻华为日历翻了半天&#xff0c;找到了这一天是星期六&#xff1a; 然而我发现&#xff0c;根据…

C语言编写小程序——万年历

一、杂谈 大一学了C之后一直困惑&#xff0c;C到底怎么用&#xff1f;它不像HTML那么直观&#xff0c;也没有SQL那么常用&#xff0c;更没有Java那么功能强大&#xff0c;那他为何还存在&#xff0c;并依然火热呢&#xff1f; 答案很简单&#xff1a;编程语言是一家&#xff0c…

前端:运用js制作一个万年历程序

前端&#xff1a;运用js制作一个万年历程序 1.HTML代码 首先&#xff0c;依旧是一个套路&#xff0c;先写HTML代码&#xff0c;就好比如建一座楼先建地基和楼的结构一样。 外部这个class属性值为time的div标签是为了让整个内容处于居中地位。 class属性值为head1的div标签是…

用Java写一个万年历程序

从控制台输入指定年份&#xff08;在1900年至2099年之内&#xff09;和月份&#xff0c;输出当月的日历。要求效果如下图所示 思路分析如下&#xff1a; 假设输出2020年5月份的日历。那么要求得1900年1月1日到2020年5月1日前一天的天数总和 再求总天数余7的值&#xff0c;结果…

C++编写万年历,公元后日历程序,考虑了1582年前后以及该年的特殊情况。

目录 一&#xff0c;万年历的基本要求前言&#xff1a;万年历的创建思路1.公元天数与日期1.日期输入问题2.闰年与平年的数目 3.日历的输出问题1.日数转化为星期2.日历月份开头 二&#xff0c;万年历正确性的额外补丁1.1582年闰年定义的变更解决2.1582年消失的十天 三&#xff0…

C语言 万年历 三种版本

C语言 万年历 万年历 一、第1版&#xff1a; 制作一个万年历&#xff08;阳历版&#xff09;。程序从键盘读入年份和月份&#xff0c;然后输出该年该月的月历。 【实现提示】&#xff1a; 本问题的关键是确定所求月份的第一天是星期几。如我们想确定2009年12月1日是星期几&a…

编制万年历的历程

初入编程之道的学子大都试编过万年历。万年历有二种&#xff1a;一为只有西历的月历&#xff0c;另一为有农历对照的月历或日历。编写万年历程序可以练练手&#xff0c;加深对编程语言的理解。记得我初入此道是在1994年&#xff0c;我那时刚买了486电脑&#xff0c;也刚开始有视…

显示万年历的程序(汇编语言实现,附源代码)

运行环境&#xff1a;Masm for Windows 集成实验环境 2015 一、课题内容和要求 课题内容&#xff1a; 用汇编语言编写一个有简单界面显示的日历&#xff0c;要求输入年月日后&#xff0c;将该月的完整日历显示出来&#xff0c;包括星期几&#xff0c;且每月的星期六&#xff…

c语言编写万年历程序

这个程序最核心的地方在于计算当前日期是周几&#xff0c;然后才好显示万年历&#xff0c;因为输入只知道月&#xff0c;所以默认是1号。 通过这个日期我们就可以计算总天数&#xff0c;通过总天数进行%7运算&#xff0c;就能得到周几。 通过这个周几&#xff0c;在结合这个月有…

C语言实现万年历程序

C语言实现万年历程序 #include <stdio.h>int year(int y) {if ((y%40) && (y%100!0) || y%4000)return 366;elsereturn 365; }int main() {int y;int i,j,sum0; int begin,week;int days[12]{31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d",&y)…

C语言实现万年历(附代码) 小白完成的第一个C语言程序,希望大家多多关注,点赞

C语言实现万年历 前言&#xff1a;本文章向大家介绍如何使用C语言代码实现万年历使用实例&#xff0c;讲解编写万年历的方法&#xff0c;教你轻松学会写出万年历。这个小程序算是我自己写的第一个比较完整的小程序&#xff0c;算是对大一上学期学习的C语言程序设计基础的一个总…

万年日历(C语言)

C Language 万年历程序----&#xff08;1840~2110&#xff09;年 ##声明&#xff1a;此程序并非本人全原创&#xff0c;已修改其中少数内容&#xff0c;仅供小白参考&#xff0c;大佬者若言论&#xff0c;来吧&#xff0c;用点力——后续本人将更新此万年历添加更有丰富的内容…

C语言万年历程序

刚复习了C语言&#xff0c;写一个万年历程序&#xff0c;比较初级&#xff0c;见笑了。 /*Name : calendar.cAuthor : 飞翔de猪油Version : v1.0Description : 万年历程序*/#include <stdio.h> #include <stdlib.h> #include <string.h> #in…

面向对象程序设计实训——万年历

设计内容&#xff1a; 1.运用程序设计基础基本知识&#xff0c;使用C、Java或Python等面向对象程序设计语言&#xff0c;按以下要求编程实现万年历的功能&#xff1a; (1)输入任一年&#xff0c;判断该年是否为闰年&#xff1b; (2)输入年月日计算该日为星期几&#xff0c;…

Qt项目简单贪吃蛇代码

目录 第一个界面 第二个界面 第一个界面 在.pro文件里添加sql QT core gui sql 点击.ui文件添加组件 类和对象如图所示&#xff0c;右键MianWindow->改变样式表&#xff0c;在编辑样式表里添加代码改变按钮样式 QPushButton{border:2px solid #7b7b7b; //按钮…

贪吃蛇php代码下载,C语言贪吃蛇代码

C语言编写贪吃蛇源代码&#xff0c;简单易懂&#xff0c;文件为VC源代码&#xff0c;附txt代码和源代码程序。 相关软件软件大小版本说明下载地址 c语言编写贪吃蛇源代码&#xff0c;简单易懂&#xff0c;文件为VC源代码。如果你正在学习c语言&#xff0c;就来下载吧。很经典的…

Html/Javascript snake game 贪吃蛇游戏(附全部代码)

以前用pyhton 做了贪吃蛇游戏&#xff0c; 这里发表的是html/javascript 版本。难度差不多&#xff0c; 区别是python 主要用class, 而javascript 主要用function &#xff0c; 他们的功能很相似&#xff0c; 写法稍微有些不同。内容大致是&#xff1a; 1. 蛇由蛇头&#xff0…

实验二.贪吃蛇的设计

目录 一.实验内容&#xff1a; 二.贪吃蛇的代码实现 &#xff08;1&#xff09;类的声明 &#xff08;2&#xff09;初始化界面 &#xff08;3&#xff09;游戏界面 &#xff08;4&#xff09;蛇的位置 &#xff08;5&#xff09;键盘监听 &#xff08;6&#xff09;更…