【蓝桥Java每日一练】—————一周中的第几天

⭐️引言⭐️

                大家好啊,我是执梗。蓝桥杯已经定下今年4月9号开始省赛,为了和兄弟们一起锻炼,特意开启这个Java组每日一题专栏。每天和大家一起锻炼,也会时不时蓝桥真题专题序章,没了解过的兄弟可以看看——【蓝桥真题1】这道用了7个for循环的蓝桥真题,让舍友哭着跑出考场 。

📒博客首页:执梗的博客

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

❤️ :热爱Java学习,期待一起交流!

🙏作者水平很有限,如果发现错误,求告知,多谢!

🌺有问题可私信交流!!!        ·     

🍋1.一周中的第几天

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。

输入为三个整数:day、month 和 year,分别表示日、月、年。

您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。

题目链接:一周中的星期几

           这道题目的要求很简单,只是为了求出某一天是星期几。虽然要求简单,但是考虑的因素却很多,要考虑闰年还要考虑到每个月份的天数都不同,而且你不知道从哪一天开始推算起来,所以在我看来虽然是简单题,还是非常让人感觉头疼的,而且是非常抽象的一道题目。这里Java的同学们一定要学会Calendar这个日期API,你可以给它设置某年某月某日,然后它能返回一个int类型的值告诉你是星期几。但是要注意从1开始是星期日直到7是星期六,而且我们在设置月份的时候,从0开始是1月,直到数字11才是12月。这是我们特别特别需要注意的地方,有兴趣的同学可以去观看一下Calendar的源码。

//这个类在力扣中需要导包
import java.util.Calendar;
class Solution {
    public String dayOfTheWeek(int day, int month, int year) {
        //Calendar的实体类获取方式
        Calendar calendar = Calendar.getInstance();
        //设置年份
        calendar.set(Calendar.YEAR,year);
        //0开始算1月,所以参数要减1  0——11代表1月到12月 
        calendar.set(Calendar.MONTH,month-1);
        //设置日
        calendar.set(Calendar.DAY_OF_MONTH,day);
        //获得返回值可以知道是星期几,1——7分别代表为星期天到星期六
        int x=calendar.get(Calendar.DAY_OF_WEEK);
        //根据x的值返回结果
        switch(x){
            case 1:
                return "Sunday";
            case 2:
                return "Monday";
            case 3:
                return "Tuesday";
            case 4:
                return "Wednesday";
            case 5:
                return "Thursday";
            case 6:
                return "Friday";
            default:
                return "Saturday";
        }
    }
}

         使用Calendar解题还是非常方便的,蓝桥中也考过类似的真题,在这个蓝桥真题解第一题就是——蓝桥真题1。常规的解题方法还是非常掉头发的,建议大家掌握一下这个CalendarAPI。有用的同学可以三连一下!!!感谢!!

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执 梗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值