今天刷蓝桥杯的题,用C++AC了之后,发现解析里有兄弟用Java的LocalDate类做的,步骤极其简洁,【由于寒假开始学过一点Java】所以我特意去搜了搜LocalDate类,发现解这种题真的很好使!!!废话少说,上题干!
文章目录
- 1. 题目描述
- 2. 运行限制
- 3. C++输出版本
- 4. Java输出版本
- 5. `Java`中的`LocalDate`类
- 5.1 介绍
- 5.2 特点
- 5.3 使用
- ① 获取当前日期
- ② 获取特定时间
- ③ 读取年、月、日
- ④ 日期跳转(puls、minus方法)
- 5.4 更多
- 5. 感谢大家支持!
1. 题目描述
在 X 星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹 2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天。请你计算它爆炸的准确日期。请输出该日期,格式为yyyy-mm-dd,即 4 位年份 2 位月份 2 位日期。比如:2015-02-19。
2. 运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
3. C++输出版本
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int mons[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year,mon,day;
int main()
{
int num;
cin >> year >> mon >> day >> num;
year=2014,mon=11,day=9,num=1000; //本题已给出具体日期,咱们可以直接对其赋值即可,如果需要输入日期和跳转的天数,则将其删去即可。
while(num--){
day++;
if(day > mons[mon]){
mon++;
day=1;
}
if(mon > 12){
mon=1;
year++;
if(year%400==0||(year%4==0&&year%100!=0))
mons[2]=29;
else
mons[2]=28;
}
}
cout << year << "-" << mon/10 << mon << "-" << day/10 << day;
return 0;
}
4. Java输出版本
import java.time.LocalDate;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2014, 11, 9).plusDays(1000);
System.out.println(date);
}
}
5. Java
中的LocalDate
类
5.1 介绍
Java中专门提供了一个java.time的"时间包",其中包括Date类,LocalDate类,LocalTime类,LocalDateTime类等。而本文要讲的LocalDate类是Java8的新特性,是通过日历法表示日期,即想要指定年月日可以用这个。
5.2 特点
- 不需要构造器来构造LocalDate类的对象,应当使用静态工厂方法。
- 是一个线程安全的类,用final修饰,主要对日期进行操作
5.3 使用
① 获取当前日期
LocalDate localDate = LocalDate.now();
② 获取特定时间
LocalDate localDate = LocalDate.of(2023,05,20);
③ 读取年、月、日
int year = localDate.getYear();
Month month = localDate.getMonth();
int mon = month.getValue();
int day = localDate.getDayOfMonth();
④ 日期跳转(puls、minus方法)
Java中给定两种方法,一种向该日期之前跳转n天,另一种我不用说了叭😉没错,向后跳转n天,返回值正是跳转的日期。【这就非常nice哇,我们不需要考虑平闰年、月份天数……等各种事啦】
直接.上方法即可
LocalDate localDate1 = LocalDate.of(2023,05,20).plusDays(1000); //向后跳转1000天
LocalDate localDate2 = LocalDate.of(2023,05,20).minusDays(1000); //向前跳转1000天
5.4 更多
更多的内容CSDN上有大佬已经整理出来啦,非常不错的,点这里直达👉👉👉java中LocalDate使用总结