使用嵌套if打印日历

**

输入年和月,在控制台打印出这个月的日历,不考虑相邻月份

**
要求:
1 不使用循环
2 可以使用java.util.Date或java.util.Calendar类计算这个月的1号是星期几
在这里插入图片描述
详细步骤如下:

public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        System.out.print("请输入你想要测试的年份:");
        int year = sc.nextInt();
        System.out.print("请输入你想要测试的月份:");
        int month=sc.nextInt();
        
        int dayOfWeek_1;
        Date firstDay = new Date(year-1900,month-1,1);
        dayOfWeek_1 = firstDay.getDay();
        System.out.println("今天是星期"+dayOfWeek_1);
        if(dayOfWeek_1 == 0) {
        	dayOfWeek_1 = 7;
        }

计算出当前的日期为当月的星期几,如:8月1日为星期四

//打印到几为止?计算这个月共有几天(totalDays)
        int totalDays = 31;
        switch(month) {
        case 2:
        	totalDays = 28;
        	if(year % 100 != 0 && year %4 ==0 || year % 400 ==0 ) {
        		totalDays++;
        	}
        	break;
        case 4:
        case 6:
        case 9:
        case 11:
        	totalDays = 30;
        	break;
        default:
        	break;
        }

打印出当前年份的月数

//打印日历,过程要注意何时换行,(逢7换行)
        System.out.println("一\t二\t三\t四\t五\t六\t七");
        
        //打印若干空格(一周为七天,dayOfWeek_1 - 1,最多六个空格)
        //定义一个空格计数器,打印六个空格
        final String SPACE = "\t";
        int spaceCounter = 0;  //空格计数器
        int spaceRequired = dayOfWeek_1 - 1;  //需要打印的空格数量
		if(spaceCounter < spaceRequired) {
        	System.out.print(SPACE);  //打印一次空格
        	spaceCounter++;  //计数器+1
        }
        if(spaceCounter < spaceRequired) {
        	System.out.print(SPACE);
        	spaceCounter++;
        }
        if(spaceCounter < spa
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值