Java调用方法 万年历
package chap001;
public class Demo1 {
public int getyearSum(int year) {
int yearSum=0;
for(int i=1900;i<year;i++) {
if((i%100!=0&&i%4==0)||i%400==0) {
yearSum+=366;
}else {
yearSum+=365;
}
}
return yearSum;
}
int sumday;
public int getmonthSum(int year,int month) {
for(int i=1;i<month;i++){
sumday+=getday(year,i);
}
return sumday;
}
int week=0;
public int getweek(int year,int month) {
week=(getyearSum(year)+getmonthSum(year,month))%7;
return week+1;
}
int day=0;
public int getday(int year,int month) {
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
return day;
case 2:
if(isleapYear(year)==true) {
day=29;
return day;
}else{
day=28;
return day;
}
default:
day=30;
return day;
}
}
boolean leapYear;
public boolean isleapYear(int year) {
if((year%100!=0&&year%4==0)||year%400==0){
leapYear=true;
}else {
leapYear=false;
}
return leapYear;
}
}
package chap001;
import java.util.Scanner;
public class Demo2 {
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();
sc.close();
System.out.println(“一\t二\t三\t四\t五\t六\t日\t”);
Demo1 d= new Demo1();
int a=d.getweek(year,month);
int k=0;
for(int j=1; j<a;j++) {
System.out.print("\t");
k++;
}
for(int i=1;i<=d.getday(year, month);i++) {
if((k+i-1)%7==0) {
System.out.println ();
}
System.out.print(i+"\t");
}
}
}