java打印1970年之后日历

来源:互联网 发布:淘宝全额抵扣什么意思 编辑:程序博客网 时间:2024/05/22 10:41

打印1970年之后的日历

package com.hp.Ri;



import java.util.Scanner;


public class RiLi {
  public static void main(String[] args) {
 Scanner sc=new Scanner(System.in);
System.out.println("请输入年份:");
int year=sc.nextInt();
System.out.println("请输入月份:");
int month=sc.nextInt();

//确定距离1970年的天数
int sum=0;
for(int i=1970;i<year;i++){
if(i%4==0&&i%100!=0  || i%400==0){
sum+=366;
}else{
sum+=365;
}
}

for(int i=1;i<month;i++){
if(i==2){
if(year%4==0&&year%100!=0  || year%400==0){
sum+=29;
}else{
sum+=28;
}
}else if(i==4 || i==6 || i==9 ||i==11){
sum+=30;
}else{
sum+=31;
}
}
sum+=1;//


System.out.println("一\t二\t三\t四\t五\t六\t日");
for(int i=0;i<sum%7-1;i++){
System.out.print("\t");
}
int tian = 0;


if (month == 2) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
tian += 29;
} else {
tian += 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
tian += 30;
} else {
tian += 31;
}
for(int o=0;o<month;o++){
System.out.print("\t");
}
for (int i = 1+month; i <= tian+month; i++) {
if (i % 7 == 0) {


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

}else {
System.out.print(i-(month) + "\t");
}



}
}
}