import java.util.Scanner;
public class calendar
{
public static void main(String args[])
{
System.out.println("----欢迎使用简易日历-----");
Scanner in=new Scanner(System.in);
String say;
do
{
System.out.println();
System.out.print("请输入年份:");
int year=in.nextInt();
System.out.print("请输入月份:");
int month=in.nextInt();
int sum=0;
int i,j,k,q,m;
/********求1900年到所求年相隔天数**************/
for(i=1900;i<year;i++)
{
if(i%4==0&&i%100!=0||i%400==0) //判断是否为闰年
{
sum+=366; //闰年有366天
}
else
{
sum+=365; //平年有365天
}
}
/********判断大小月***************/
for(j=1;j<month;j++)
{
if(j==2)
{
if(year%4==0&&year%100!=0||year%400==0) //判断是否为闰年
{
sum+=29; //闰年2月有29天
}
else
{
sum+=28; //平年2月有28天
}
}
else
{
if(j==1||j==3||j==5||j==7||j==8||j==10||j==12) //判断大小月
{
sum+=31;
}
else
{
sum+=30;
}
}
}
sum+=1; //求到所求月份的1号相隔天数
int wekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(k=1;k<=wekday;k++)
{
System.out.print("\t");
}
/*********判断所求月份的天数***************/
if(month==2)
{
if(year%4==0&&year%100!=0||year%400==0)
{
m=29;
}
else
{
m=28;
}
}
else
{
if(month==4||month==6||month==9||month==11)
{
m=30;
}
else
{
m=31;
}
}
/********打印出所需月份日历**********/
for(q=1;q<=m;q++)
{
if(sum%7==6)
{
System.out.print(q+"\n");
}
else
{
System.out.print(q+"\t");
}
sum++;
}
System.out.println();
System.out.print("是否继续查询(yes or no):");
say=in.next();
}while(say.equals("yes"));
System.out.println("查询结束,谢谢使用!");
}
}
本文出自 “11944078” 博客,请务必保留此出处http://11954078.blog.51cto.com/11944078/1836967
原文地址:http://11954078.blog.51cto.com/11944078/1836967