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

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

🍋1.一周中的第几天


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


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


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


题目链接:一周中的星期几https://leetcode-cn.com/problems/day-of-the-week/


          这道题目的要求很简单,只是为了求出某一天是星期几。虽然要求简单,但是考虑的因素却很多,要考虑闰年还要考虑到每个月份的天数都不同,而且你不知道从哪一天开始推算起来,所以在我看来虽然是简单题,还是非常让人感觉头疼的,而且是非常抽象的一道题目。这里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。

相关文章
|
6月前
|
Java
CSDN每日一练(Java)--小艺的英文名
CSDN每日一练(Java)--小艺的英文名
|
6月前
|
安全 Java C++
2023-3-25 java选择题每日一练
2023-3-25 java选择题每日一练
44 1
|
6月前
|
Rust 索引
Rust 编程小技巧摘选(6)
Rust 编程小技巧摘选(6)
83 1
Rust 编程小技巧摘选(6)
|
6月前
|
C++ Python Rust
Rust 重载运算符|复数结构的“加减乘除”四则运算
Rust 重载运算符|复数结构的“加减乘除”四则运算
101 0
Rust 重载运算符|复数结构的“加减乘除”四则运算
|
6月前
|
Linux
Linux 终端命令之文件浏览(1) cat
Linux 终端命令之文件浏览(1) cat
57 0
Linux 终端命令之文件浏览(1) cat
|
6月前
|
Go Python Rust
Rust 编程小技巧摘选(7)
Rust 编程小技巧摘选(7)
98 0
Rust 编程小技巧摘选(7)
|
6月前
|
Linux Windows Ubuntu
Windows 使用 Linux 子系统,轻轻松松安装多个linux
Windows 使用 Linux 子系统,轻轻松松安装多个linux
598 0
Windows 使用 Linux 子系统,轻轻松松安装多个linux
|
7天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
|
6天前
|
安全 Java 开发者
Java 多线程并发控制:深入理解与实战应用
《Java多线程并发控制:深入理解与实战应用》一书详细解析了Java多线程编程的核心概念、并发控制技术及其实战技巧,适合Java开发者深入学习和实践参考。
|
6天前
|
Java 开发者
Java多线程编程的艺术与实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的技术文档,本文以实战为导向,通过生动的实例和详尽的代码解析,引领读者领略多线程编程的魅力,掌握其在提升应用性能、优化资源利用方面的关键作用。无论你是Java初学者还是有一定经验的开发者,本文都将为你打开多线程编程的新视角。 ####
下一篇
无影云桌面