package 日历;
import java.util.Scanner;
public class 日历002 {
int sum=0;
int data=0;
int weeked=0;
String msg="一\t二\t三\t四\t五\t六\t七";
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份!");
int year=sc.nextInt();
System.out.println("请输入月份!");
int months=sc.nextInt();
日历002 a=new 日历002();
a.printData(year, months);
sc.close();
}
public void printData(int year,int months){
if(months==2){
if(this.function(year)){
data=29;
}else{
data=28;
}
}else if(months==4||months==6||months==9||months==11){
data=30;
}else{
data=31;
}
weeked=this.sumGet(year, months)%7;
if(weeked==0){
weeked=7;
}
System.out.println(msg);
for(int i=1;i<weeked;i++){
System.out.print("\t");
}
int sum=this.sumGet(year, months);
for(int i=1;i<=data;i++){
if(sum%7==0){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
public boolean function(int year){
if(year%4==0&&year%100!=0||year%400==0){
return true;
}
return false;
}
public int sumGet(int year,int months){//集合
for(int i=1900;i<year;i++){
if(this.function(i)){
sum+=366;
}else{
sum+=365;
}
}
for(int i=1;i<months;i++){
if(i==2){
if(this.function(year)){
sum+=29;
}else{
sum+=28;
}
}else if(i==4||i==6||i==9||i==11){
sum+=30;
}else{
sum+=31;
}
}
sum=sum+1;
return this.sum;
}
}

import java.util.Scanner;
public class 日历002 {
int sum=0;
int data=0;
int weeked=0;
String msg="一\t二\t三\t四\t五\t六\t七";
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份!");
int year=sc.nextInt();
System.out.println("请输入月份!");
int months=sc.nextInt();
日历002 a=new 日历002();
a.printData(year, months);
sc.close();
}
public void printData(int year,int months){
if(months==2){
if(this.function(year)){
data=29;
}else{
data=28;
}
}else if(months==4||months==6||months==9||months==11){
data=30;
}else{
data=31;
}
weeked=this.sumGet(year, months)%7;
if(weeked==0){
weeked=7;
}
System.out.println(msg);
for(int i=1;i<weeked;i++){
System.out.print("\t");
}
int sum=this.sumGet(year, months);
for(int i=1;i<=data;i++){
if(sum%7==0){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
public boolean function(int year){
if(year%4==0&&year%100!=0||year%400==0){
return true;
}
return false;
}
public int sumGet(int year,int months){//集合
for(int i=1900;i<year;i++){
if(this.function(i)){
sum+=366;
}else{
sum+=365;
}
}
for(int i=1;i<months;i++){
if(i==2){
if(this.function(year)){
sum+=29;
}else{
sum+=28;
}
}else if(i==4||i==6||i==9||i==11){
sum+=30;
}else{
sum+=31;
}
}
sum=sum+1;
return this.sum;
}
}
