第三周项目-本月有几天?

问题及代码:

/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All right reserved.
 *文件名称:77.cpp
 *作    者:董凯琦
 *完成日期:2016年3月13日
 *版 本 号:v1.0
 *
 *问题描述:编程序,输入年份和月份,输出本月有多少天。
 *输入描述:两个整数,分别代表年份和月份
 *程序输出:一个结果,代表天数
 */
 #include <iostream>
 using namespace std;
 int main()
 {
    int year,month;
    int day;
    cout<<"请您输入年份和月份:"<<endl;
    cin>>year>>month;
    switch(month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            day=31;
        break;
        case 2:
            if((year%4==0&&year%100!=0)||year%400==0)
                day=29;
            else
                day=28;
                break;
        default:
            day=30;
            break;

    }
    cout<<"本月"<<day<<"天"<<endl;
    return 0;

 }

运行结果:


知识点总结:

 从这个程序中,我们进一步加强了对switch分支结构的认知,学会了灵活运用。

学习心得:

起初在case 2:这个语句中遗漏了break ,导致闰年2月平年二月都是30天,可见要细心啊!!!

在Java中,你可以通过`Calendar`类来判断某个日期属于本月的第几周。以下是一个具体的操作步骤: 1. 创建一个`Calendar`实例,并设置到你想查询的日期。 2. 使用`get(Calendar.DAY_OF_WEEK)`方法获取该日期是星期几,这会返回一个`int`值,其中1代表星期日,2代表星期一,以此类推。 3. 使用`get(Calendar.DAY_OF_MONTH)`方法获取该日期是本月的第几天。 4. 根据获取的星期几和日期,计算该日期是本月的第几周。 以下是一个简单的示例代码: ```java import java.util.Calendar; public class WeekOfTheMonth { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 15); // 假设我们要找的是本月15号是第几周 int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); int weekOfMonth = 0; switch(dayOfWeek) { case Calendar.MONDAY: weekOfMonth = (dayOfMonth + 5) / 7; break; case Calendar.TUESDAY: weekOfMonth = (dayOfMonth + 4) / 7; break; case Calendar.WEDNESDAY: weekOfMonth = (dayOfMonth + 3) / 7; break; case Calendar.THURSDAY: weekOfMonth = (dayOfMonth + 2) / 7; break; case Calendar.FRIDAY: weekOfMonth = (dayOfMonth + 1) / 7; break; case Calendar.SATURDAY: case Calendar.SUNDAY: weekOfMonth = dayOfMonth / 7; break; } System.out.println("本月的第 " + weekOfMonth + " 周。"); } } ``` 这段代码会输出本月的第几周。注意,这里假设一周的第一天是星期一,并且按照向上取整的方式来计算周数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值