计应192西—第一组—张志豪
package rili;
import java.util.Calendar;
import java.util.Scanner;
public class CalendarBean {
public static void main(String[] args) {
String s[]=new String[42];// 存储一个月的具体每一天,包含之前的空格和之后的空格
int
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份:");
int y=sc.nextInt();
System.out.println("请输入月份:");
int m=sc.nextInt();
Calendar c = Calendar.getInstance();//创建日历对象
c.set(y, m, 0);//设置指定日历的年月日
int days=c.get(Calendar.DAY_OF_MONTH);//获取指定月份的天数
System.out.println(String.format("%tY年%<tm月", c));//格式化输出年月日
System.out.println("日\t"+"一\t"+"二\t"+"三\t"+"四\t"+"五\t"+"六");
c.set(y, m-1, 1);
int a=c.get(Calendar.DAY_OF_WEEK)-1;//获取该月第一天是星期几
for(int i=0;i<s.length;i++) {//判断该月第一天对应的星期数
if(a==i) {//星期数对应时开始
for(int j=0;j<days;j++) {
s[i+j]=String.valueOf(j+1);//对数组元素进行赋值,并转换为字符型
}
}
}
for(int i=0;i<s.length;i++) {
if(s[i]== null || s[i].length() == 0) {//判断存贮日历的数组元素如果为空时,将其赋值为" ";
s[i]=" ";
}
System.out.print(s[i]+"\t");//对数组进行输出
if((i+1)%7==0) {//每七个换行
System.out.println();
}
}
}
}