使用Calendar完成一个万年历。要求:键盘输入一个年份和月份,控制台输出当月的日历

刚学完Calendar类花了近一个小时写出来的,脑袋比较笨,思路很简单,能完成这样已经很用心了,望各位大佬哥哥姐姐们多多指点。

/**
 * 使用Calendar完成一个万年历 要求:键盘输入一个年份和月份,控制台输出当月的日历
 */
import java.util.Calendar;
import java.util.Scanner;

public class PerpetualCalendar {
	public static void pringMonth(int year, int month) {
		Calendar c = Calendar.getInstance();    获取一个Calendar对象
		// c.set(year, month - 1, 1); // 设置第一天
		c.set(Calendar.YEAR, Calendar.MONTH); // 调用Calendar类的方法,功能同上
		System.out.println("\t=============" + month + "月=============");
		System.out.println("日" + "\t" + "一" + "\t" + "二" + "\t" + "三" + "\t" + "四" + "\t" + "五" + "\t" + "六");
		int allday = c.getMaximum(Calendar.DATE); // 该月最大天数
		int firstdayofweek = c.get(Calendar.DAY_OF_WEEK) - 1; // 设置每周的天数,令周日为0
		for (int i = 0; i < firstdayofweek; i++) { // 找到该月第一天的位置
			System.out.print("\t");    //第一天之前都是"\t"
		}
		for (int i = 1; i <= allday; i++) {    //循环输出所有天数
			System.out.print(i + "\t");
			firstdayofweek++;
			if (firstdayofweek == 7) {    //判断每周天数是否为7天
				firstdayofweek = 0;    //是,则换行
				System.out.println();
			}
		}
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年:");
		int year = sc.nextInt();
		System.out.println("请输入月:");
		int month = sc.nextInt();
		pringMonth(year, month);    //使用上面的方法
		sc.close();
	}
}

运行一下下

对比当前时间,运行正确

猜你喜欢

转载自blog.csdn.net/Ww1554487900/article/details/81352147
今日推荐