1.判断闰年,如果是闰年的则返回真
int IsLeadYear(int year)
{
int flag=0;
if( year %4==0&& year %100!=0|| year %400==0)
{
flag=1;
}
else
{
flag=0;
}
return(flag);
}
2.判断大小月,如果是小月返回真
int IsBigMonth(int month)
{
int flag=0;
if( month ==4|| month ==6|| month ==9|| month ==11 )
{
flag=1;
}
else
{
flag=0;
}
return(flag);
}
3.输入年份,月份数字,打印出月份日历。
*规定1900年1月1日是星期一
import java.util.Scanner;
public class countdays {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份");
int year_max=in.nextInt();
System.out.println("请输入月份");
int month_max=in.nextInt();
//System.out.println("请输入日期");
//int day_max=in.nextInt();
int sum=0;
int year=1900;
int weekday;
int month_max_day;
for(year=1900;year<year_max;year++){
if(year%4==0&&year%100!=0||year%400==0){
sum+=366;
}else{
sum+=365;
}
}
for(int month=1;month<month_max;month++){
if(month==2){
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(month==4||month==6||month==9||month==11){
sum+=30;
}else{
sum+=31;
}
}
}
sum+=1;
weekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
//每个月第一天星期几的退格
for(int i=1;i<=weekday;i++){
System.out.print("\t");
}
if(month_max==2){
if(year_max%4==0&&year_max%100!=0||year_max%400==0){
month_max_day=29;
}else{
month_max_day=28;
}
}else{
if(month_max==4||month_max==6||month_max==9||month_max==11){
month_max_day=30;
}else{
month_max_day=31;
}
}
//输出这个月每一天的
for(int i=1;i<=month_max_day;i++){
if(sum%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
}