package _____;
import java.util.Scanner;
public class wnl//萬年歷主類
{
public static void main(String[] args)
{
menu();
Scanner sc=new Scanner(System.in);
int menu=sc.nextInt();
if(menu==1)
{
System.out.println("(1)、請輸入一個年份");
int year=sc.nextInt();
boolean f1=pdrn(year);
if(f1==true)
{
System.out.println("該年份是閏年");
}
else
{
System.out.println("該年份不是閏年,是平年");
}
}
else if(menu==2)
{
System.out.println("(2)、請輸入幾年幾月份");
int year=sc.nextInt();
int month=sc.nextInt();
int day=monthDay(year,month);
System.out.println("該"+month+"月有"+day+"天");
}
else if(menu==3)
{
System.out.println("(3)、請輸入幾年幾月");
int year=sc.nextInt();
int month=sc.nextInt();
int days=timesum(year,month);
System.out.println(year+"年"+month+"月前距1900年1月1號有"+days+"天");
}
else
{
System.out.println("(4)、請輸入你想打印幾年幾月");
int year=sc.nextInt();
int month=sc.nextInt();
printCalendar(year,month);
}
}
public static void menu()
{
System.out.println("請選擇你想要測試的是哪一項");
System.out.println("(1)判斷閏年");
System.out.println("(2)判斷某年某月有多少天");
System.out.println("(3)計算某年某月前距離1900年1月1日的總天數");
System.out.println("(4)輸出某年某月日歷");
}
public static boolean pdrn(int year)//判斷閏年
{
if(year%400==0&&year%100==0)
{
return true;
}
else if(year%4==0&&year%100!=0)
{
return true;
}
else
{
return false;
}
}
public static int monthDay(int y,int m)//計算某個月天數
{
boolean f2=pdrn(y);
if(m==2)//2月時候
{
if(f2==true)
{
return 29;
}
else
{
return 28;
}
}
else if(m==4||m==6||m==9||m==11)
{
return 30;
}
else
{
return 31;
}
}
public static int timesum(int y,int m)//計算天數和
{
int days=0;
if(y<1900)
{
System.out.println("請輸入1900年以后的時間");//如果用戶不小心輸入1900年以前的時間,系統退出
System.exit(-1);
}
for(int i=1900;i<y;i++)
{
if(pdrn(i)==true)
{
days+=366; //閏年加上366天
}
else
{
days+=365; //平年加上365天
}
}
for(int j=1;j<m;j++)
{
days+=monthDay(y,j); //加上每個月的天數
}
return days;
}
public static void printCalendar(int y,int m)
{
int days=timesum(y,m);
int blank=(days+1)%7;
int day=monthDay(y,m);
System.out.println("日\t"+"一\t"+"二\t"+"三\t"+"四\t"+"五\t"+"六\t");
for(int i=1;i<=blank;i++)
{
System.out.print("\t");
}
for(int i=1;i<=day;i++)
{
System.out.print(i+"\t");
if((i+blank)%7==0)
{
System.out.println();
}
}
System.out.println();
}
}//參考借鑒宋佳麗程序思路框架;
浙公網安備 33010602011771號