使用Calendar打印日历
public class Testz {
public static void main ( String [ ] args) {
Scanner scan = new Scanner ( System . in) ;
System . out. println ( "请输入年:" ) ;
int year = scan. nextInt ( ) ;
System . out. println ( "请输入月:" ) ;
int month = scan. nextInt ( ) ;
Calendar c = Calendar . getInstance ( ) ;
c. set ( Calendar . YEAR, year) ;
c. set ( Calendar . MONTH, month- 1 ) ;
c. set ( Calendar . DAY_OF_MONTH, 1 ) ;
int dayOfWeek = c. get ( Calendar . DAY_OF_WEEK) ;
int countDay = c. getActualMaximum ( Calendar . DAY_OF_MONTH) ;
int countWeek = ( countDay - ( 8 - dayOfWeek) ) / 7 + 2 ;
int day = 1 ;
System . out. print ( "星期日" + "\t星期一" + "\t星期二" + "\t星期三" + "\t星期四" + "\t星期五" + "\t星期六" + "\n" ) ;
a: for ( int i = 0 ; i < countWeek; i++ ) {
for ( int j = 1 ; j < 8 ; j++ ) {
if ( day > countDay) {
break a;
}
if ( i == 0 && j < dayOfWeek) {
printSpace ( "" ) ;
} else {
printSpace ( day + "" ) ;
day ++ ;
}
}
System . out. println ( ) ;
}
}
public static void printSpace ( String a) {
if ( a. equals ( "" ) ) {
System . out. print ( " \t" ) ;
} else if ( a. split ( "" ) . length == 1 ) {
System . out. print ( a+ " \t" ) ;
} else if ( a. split ( "" ) . length == 2 ) {
System . out. print ( a+ " \t" ) ;
}
}
}