请读者先学习Date类与Calendar类!
import java.util.Calendar;
import javax.management.StringValueExp;
public class CalendarBean {
int year ;
int month;
int day;
public void setTime(int year ,int month) { //用于确定年月日
this.year=year;
this.month=month;
if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12)) {
this.day=31;
}
if((month==4)||(month==6)||(month==9)||(month==11)) {
this.day=30;
}
if(month==2) {//闰年判断
if((year%400==0)||(year%4==0)&&(year%100!=0)) {
this.day=29;
}
else
day=28;
}
}
public String [] getCalendar() {
Calendar ca =Calendar.getInstance();
ca.set(year, month-1,1);//注意month-1
String a[]=new String[42];
int weekenday=ca.get(Calendar.DAY_OF_WEEK);
//获取本月一号对应的周几
for(int i =0;i<weekenday;i++) {
a[i]=" ";
}
for(int i =weekenday,n=1;i<weekenday+day;i++) {
a[i]=String.valueOf(n);
n++;
}
for(int i = weekenday+day;i<a.length;i++) {
a[i]=" ";
}
return a;
}
}
public class Mian {
public static void main(String[] args) {
CalendarBean c=new CalendarBean();
c.setTime(2021, 6);
String a[]=c.getCalendar();
char str[]= "日一二三四五六".toCharArray();
for(int i =0;i<str.length;i++) {
System.out.printf("%4c",str[i]);
}
for(int i =0;i<a.length;i++) {
if(i%7==0)//每七天就要换行
System.out.println("");
System.out.printf("%4s",a[i]);
}
}
}

存在问题:没有对齐,欢迎留言指正!
本文介绍了一个简单的Java程序,该程序使用自定义的CalendarBean类来设置特定的年份和月份,并生成当月的日历视图。文章通过具体代码示例展示了如何处理不同月份的天数变化以及闰年的特殊情况。
3253

被折叠的 条评论
为什么被折叠?



