java一个简单的万年历,Java实现万年历

java一个简单的万年历,Java实现万年历,Java实现简单的万年历

本文主要详细介绍用Java实现的简单万年历。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

本文分享Java实现简单万年历的具体代码,供大家参考。具体内容如下。

1 要求

1.输入年份;

2.输入月份;

3.输出某年某月的日历。

2 思路

1.实现从控制台接收年月,判断是否是闰年(判断是否是闰年:能被4整除但不能被100整除;或者能被400整除);

2.计算输入月份的天数;

3.在每月的第一天计算星期几;

3.1计算输入年份与1900年1月1日之间的天数;

3.2计算输入月份前的天数(从当年年初算起);

3.3将上述两组数据相加;

3.4给定月份前的天数,计算输入月份的第一天是星期几(从1900年1月1日(星期一)开始计算):星期几=1天差% 7)。

4.根据格式输出该月的日历。

3 源代码

导入Java . util . scanner;

公共类别索引{

//每个月的天数

公共静态int monthday(int month,int year) {

if ((year % 4==0 year % 100!=0) ||年% 400==0) {

int[] day={0,31,29,31,30,31,30,31,31,30,31,30,31,30,31 };

返回日[月];

}否则{

int[] day={0,31,28,31,30,31,30,31,31,30,31,30,31,30,31 };

返回日[月];

}

}

//一个月的总天数

公共静态int monthdays(int month,int year) {

int total days=0;

for(int I=1;I月;i ) {

totaldays=totaldays monthday(i,year);

}

返回总天数;

}

//从1900年开始一年中的总天数

公共静态int yeardays(int year){

int year days=0;

for(int I=1900;iyeari ){

if ((i % 4==0 i % 100!=0) || i % 400==0) {

yeardays=yeardays 366

}否则{

yeardays=yeardays 365

}

}

System.out.println(从1900年开始的总天数' year days ');

返回年天数;

}

//输出日历

public static void print calendar(int month,int year){

int total days=0;

如果(第0年){

if(第0个月第13个月){

//从1900年1月1日开始的总天数

totaldays=monthdays(月,年)yeardays(年);

System.out.println(从1900年开始的总天数:' totaldays '在一年' month '的第一天);

system . out . println(' \ n * * * * * * * * * '年'月'历为* * * * * * *);

system . out . println(' one \ t two \ t three \ t four \ t five \ t six \ t day \ t ');

int week=1 total days % 7;

//根据1号是星期几输出一个空格。

for(int I=1;iweeki ){

system . out . print(' \ t ');

}

//输入特定的日期

for(int I=1;i=monthday(月,年);i ){

system . out . print(I ' \ t ');

if(week==7){

周=1;//重置为星期一

system . out . println();

}否则{

周;

}

}

}否则{

System.out.println('输入的月份非法!');

}

}否则{

System.out.println('输入的年份非法!');

}

}

//主函数

公共静态void main(String[] args) {

Scanner scanner=新扫描仪(system . in);

system . out . println(' * * * * * * * * * * * * * * * * * * * * * * * * * * *,欢迎来到万年历* * * * * * * * * * * * * * * * * * * * * *);

system . out . println(' * * * * * * * * * * * * * * * *请选择需要执行的操作(输入操作前的数字)* * * * * * * * *);

system . out . println(' * * * * * * * * * * * * * * * * * * 1。查询某年某月的日历* * * * * * * * * * * * * * * * * * * * *);

system . out . println(' * * * * * * * * * * * * * * * * 2。结束操作* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

system . out . print(' \ n请选择您需要的操作:');

int a=scanner . nextint();

for(int I=0;I=0;i ) {

开关(a) {

案例1:

System.out.print('请选择年份:');

int year=scanner . nextint();

System.out.print('请选择月份:');

int month=scanner . nextint();

printCalendar(月、年);

system . out . print(' \ n请选择您需要的操作:');

a=scanner . nextint();

打破;

案例二:

System.out.println('成功退出程序!');

返回;

}

}

}

}

4 结果截图

注意:我的星期天在最后一栏。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: