用java写一个日历

跪求大神用java给我写一个日历的程序要最简单的就可以附上注释明天考试要用老师会提问跪求... 跪求大神用java给我写一个日历的程序要最简单的就可以 附上注释 明天考试要用 老师会提问 跪求 展开
 我来答
淡同方x0
推荐于2016-10-26 · TA获得超过238个赞
知道答主
回答量:169
采纳率:100%
帮助的人:113万
展开全部
import java.util.*;

class ViewMonth {

int month;
int year;

ViewMonth(final int displayMonth, final int displayYear) {
month = displayMonth;
year = displayYear;
}

private String checkMonth() {

String[] months = {
"1 月" , "2 月" , "3 月",
"4 月" , "5 月" , "6 月",
"7 月" , "8 月" , "9 月",
"10 月" , "11 月" , "12 月"
};

return months[month];
}

private int checkDays() {

int[] numofDays = {
31, 28, 31,
30, 31, 30,
31, 31, 30,
31, 30, 31
};

return numofDays[month];
}

/**
* 使用此方法打印该月的日历.
*/
void printMonth() {

/* 将该月份起始处的天数留空. */
int initialSpaces = 0;

try {
/* 获取月份名称. */
String monthName = checkMonth();
System.out.println();
System.out.println("\t\t\t " + year + " 年 " + monthName );
System.out.println();

} catch (ArrayIndexOutOfBoundsException ae) {
System.out.println("超出范围 ..........");
System.exit(0);
}

GregorianCalendar cal = new GregorianCalendar(year, month, 1);

System.out.println("\t日\t一\t二\t三\t四\t五\t六");
initialSpaces = cal.get(Calendar.DAY_OF_WEEK) - 1;

/* 获取天数. */
int daysInMonth = checkDays();

/* 检查是否为闰年并为二月增加一天. */
if (cal.isLeapYear(cal.get(Calendar.YEAR)) && month == 1) {
++daysInMonth;
}

for (int ctr = 0; ctr < initialSpaces; ctr++) {
System.out.print("\t");
}

for (int ctr = 1; ctr <= daysInMonth; ctr++) {

/* 为单个日期添加空格. */
if (ctr <= 9) {
System.out.print(" ");
}
System.out.print("\t" + ctr);

/* 检查行的末尾. */
if ((initialSpaces + ctr) % 7 == 0) {
System.out.println();
} else {
System.out.print(" ");
}

}
System.out.println();
}
}

class J7上机2 {

protected J7上机2() {
}

public static void main(String[] args) {

int month, year;

if (args.length == 2) {
System.out.println("显示日历");
System.out.println();
int mon = Integer.parseInt(args[0]);
month = mon - 1;
year = Integer.parseInt(args[1]);
} else {
Calendar today = Calendar.getInstance();
month = today.get(Calendar.MONTH);
year = today.get(Calendar.YEAR);
}

ViewMonth mv = new ViewMonth(month, year);
mv.printMonth();

}
}
追问
太简单了 你是在网上抄的吧 跟我们同学都一样 有没有自己写的啊 最好带上注释
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式