package com.oracle;
import java.util.*;
public class Fist {
public static void main(String[] args) {
int year=2017;
System.out.println(year+"年的日历");
for(int i=1;i<13;i++)
{
int month=i;
System.out.println(year+"年"+month+"月"+"的日历");
System.out.println("日\t一\t二\t三\t四\t五\t六");
int monthDays=0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
monthDays=31;
break;
case 4:
case 6:
case 9:
case 11:
monthDays=30;
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
{
monthDays=29;
}else
monthDays=28;
break;
default:
break;
}
int weekDays=0;
int days=0;
for(int j=1900;j<year;j++)
{ int currentDay=j;
if(currentDay%4==0&¤tDay%100!=0||currentDay%400==0)
{
days=days+366;
}
else {
days=days+365;
}
}
for (int j = 1; j < month; j++) {
int currentMonth=j;
switch (currentMonth) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=days+31;
break;
case 4:
case 6:
case 9:
case 11:
days=days+30;
break;
case 2:
if (year%4==0 && year%100!=0 || year%400==0) {
days=days+29;
}else{
days=days+28;
}
break;
default:
break;
}
}
weekDays=(days%7+1)%7;
for(int j=1;j<=weekDays;j++)
{
System.out.print("\t");
}
for(int j=1;j<monthDays+1;j++)
{
int day=j;
System.out.print(day+"\t");
if((day+weekDays)%7==0)
{
System.out.println();
}
}
System.out.println();
}
}
}
import java.util.*;
public class Fist {
public static void main(String[] args) {
int year=2017;
System.out.println(year+"年的日历");
for(int i=1;i<13;i++)
{
int month=i;
System.out.println(year+"年"+month+"月"+"的日历");
System.out.println("日\t一\t二\t三\t四\t五\t六");
int monthDays=0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
monthDays=31;
break;
case 4:
case 6:
case 9:
case 11:
monthDays=30;
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
{
monthDays=29;
}else
monthDays=28;
break;
default:
break;
}
int weekDays=0;
int days=0;
for(int j=1900;j<year;j++)
{ int currentDay=j;
if(currentDay%4==0&¤tDay%100!=0||currentDay%400==0)
{
days=days+366;
}
else {
days=days+365;
}
}
for (int j = 1; j < month; j++) {
int currentMonth=j;
switch (currentMonth) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=days+31;
break;
case 4:
case 6:
case 9:
case 11:
days=days+30;
break;
case 2:
if (year%4==0 && year%100!=0 || year%400==0) {
days=days+29;
}else{
days=days+28;
}
break;
default:
break;
}
}
weekDays=(days%7+1)%7;
for(int j=1;j<=weekDays;j++)
{
System.out.print("\t");
}
for(int j=1;j<monthDays+1;j++)
{
int day=j;
System.out.print(day+"\t");
if((day+weekDays)%7==0)
{
System.out.println();
}
}
System.out.println();
}
}
}