万年历学习笔记-阿里云开发者社区

开发者社区> 云计算> 正文

万年历学习笔记

简介:

万年历学习笔记


import java.util.Scanner;


public class Test1demo {

//判断是否是闰年

public static boolean isRun(int year)

{

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

{

return true;

}

else

{

return false;

}

}

//判断年份和月份,还回该月的总天数

public static int getMonthDays(int year,int month) {

int days = 31;

switch (month) {

case 4:

case 6:

case 9:

case 11:

days = 30;

break;

case 2:

if(isRun(year))

{

days = 29;

}

else {

days = 28;

}

break;

}

return days;

}

//计算给定年份和月份,计算这个月与第一天1900.1.1过了多少天

public static int getTotalDays(int year, int month)

{

int totalDays = 0;

for (int i = 1900; i < year; i++) {

if(isRun(year))

{

totalDays += 366;

}

else

{

totalDays += 365;

}

}

for(int i = 1; i < month ; i++)

{

totalDays += getMonthDays(year, i);

}

return totalDays;

}

public static void main(String[] args) {

int year;

int month;

int day;  //  这个月

int totalDays; //这个月第一天与1900.1.1有多少天

int iCount = 0 ;// 计数器,用来决定是否换行

int monthDays ; // 表示该月数

Scanner in = new Scanner(System.in);

System.out.println("*************欢迎使用万年历***********");

System.out.println("请输入年份");

year = in.nextInt();

System.out.println("请输入月份");

month = in.nextInt();

System.out.println("你输入的年月是:" +year+"年"+month+"月");

if (isRun(year))

{

System.out.println(year+"年"+"是闰年");

}

else

{

System.out.println(year+"年"+"是平年");

}

monthDays = getMonthDays(year, month); //获得月总天数

totalDays = getTotalDays(year, month); //获得年总天数

totalDays++; // 获得多少天

day = totalDays%7; //得到星期几

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");

for(int i = 0; i < day; i++)

{

System.out.print("\t");

iCount++;

}

for(int i = 1; i <= monthDays; i++)

{

System.out.print(i+"\t");

iCount++;

if (iCount %7 == 0) {

System.out.println();

}

}

}


}











本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1982907,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章