编写程序定义日期类date 包含:3个成员变量:day month year 三个成员方法tomo

2025-03-10 21:21:28
推荐回答(1个)
回答1:

import java.io.*;
import java.util.*;
class Calendar{
static int weekDay;
static int year;
public static void main(String args[]) throws IOException{
System.out.println("请输入日期:");
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader (System.in);
in=new BufferedReader(ir) ;
String s=in.readLine();
year=Integer.parseInt(s);
if(year<1){
System.out.println("输入年份不能小于1");
return;
}
weekDay=(int)firstDayOfYear(year);
System.out.println(""+year+"年");
System.out.println("=================================");
for(int i=1;i<=12;i++){
System.out.println();
printMonth(i);
System.out.println();
}
}

public static void printMonth(int m){
printHead(m);
int days=daysOfMonth(m);
for(int i=1;i<=days;i++){
if(i<10){
System.out.println(""+i);
}
else {
System.out.println(" "+i);
}
weekDay=(weekDay+1)%7;
if(weekDay==0){
System.out.println();
System.out.println(" ");

}
}
}
public static void printHead(int m){
System.out.println(""+m+"月 日 一 二 三 四 五 六 七");
System.out.println(" ");
for(int i=0;i System.out.println(" ");
}
}
public static long firstDayOfYear(int y){
long n;
n=y*365;
for(int i=1;i if (isLeapYear(i))
n++;
return n%=7;
}
private static boolean isLeapYear(int i) {
return false;
}

public static int daysOfMonth(int m){
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 30;
case 2:if(isLeapYear(year)) return 29;
else return 28;

}
return 0;
}
}
这个是我的答案