7-2 日期的推算* Java题解
题目描述:
已知今天的日期,请你推算若干天后是什么日期。
说明:假设今天的日期是 y1 年 m1 月 d1 日,过 n 天后的日期为 y2 年 m2 月 d2 日。
输入格式
y1/m1/d1
n(n>0)
输出格式
y2/m2/d2
注:y2 至少4位数字,m2 和 d2 至少2位数字,若位数不够,则前面补0。
输入样例:
2018/2/14
22
输出样例:
2018/03/08
解题思路:
将输入的天数直接都加到day上,年份分为平润两类,每个类型中以月份为基准,当月份的天数满足条件时,退出循环,否则将超出的天数减去,month++,继续循环,月份满12时,将年份加一,同时将月份置为1。细节较多~
javaAC代码:
import java.io.*;public class Main {public static void main(String[] args) throws NumberFormatException, IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] split = br.readLine().split("/");int year = Integer.parseInt(split[0]);int month = Integer.parseInt(split[1]);int day = Integer.parseInt(split[2]);int n = Integer.parseInt(br.readLine());int []d1 = {0,31,28,31,30,31,30,31,31,30,31,30,31};int []d2 = {0,31,29,31,30,31,30,31,31,30,31,30,31};day += n;while(true) {if(isLeapYear(year)) {if(d2[month] < day) {day -= d2[month];}else {break;}month++;if(month > 12) {year++;month = 1;}}else {if(d1[month] < day) {day -= d1[month];}else {break;}month++;if(month > 12) {year++;month = 1;}}}System.out.printf("%04d/%02d/%02d",year,month,day);}public static boolean isLeapYear(int year) {if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {return true;}return false;}
}
7-2 日期的推算* Java题解相关推荐
- 自定义日期工具类 java 1614698552
自定义日期工具类 java 1614698552 需求 思路 演练 日期转字符串的方法 字符串转日期方法 测试类 更多尝试 测试另一个方法
- java变量中不属于复合类型的数据类型是_2006新版JAVA题解(JAVA简单数据类型)...
2006新版JAVA题解(JAVA简单数据类型) 2007年1月22日来源:233网校网校课程 在线题库评论 分享到 1.下列哪一个是合法的标识符: A.12class; B.+viod; C.-5; ...
- 日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...
Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯. 2.面向对象的出现,将复杂的事情简单化. 3.面向对象的出现,将之前过 ...
- 2020第五届上海第二工业大学新生程序设计竞赛(Java题解)
2020第五届上海第二工业大学新生程序设计竞赛(Java题解) 作为C/C++版本的补充题解,仅供参考 需要解析的可以看这篇: 2020第五届上海第二工业大学新生程序设计竞赛 用Java语言参加竞赛时 ...
- Java题解:如何获取某一天的下一天的时间
java如何处理日期的原理 java中提供了java.util.Date类来处理日期格式的数据,通过它可以得到其所代表的日期的年月日和时分秒等信息. java.util.Date类的底层的实现是通过一 ...
- PTA | 日期的推算* (10分)
[PTA]日期的推算* (10分) 已知今天的日期,请你推算若干天后是什么日期. 说明:假设今天的日期是 y1年 m1月 d1日,过 n 天后的日期为 y2年 m2月 d2日. 输入格式 y ...
- 笔试编程题 拼凑正方形 Java题解 牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方
题目描述 牛牛有4根木棍,长度分别为a,b,c,d.羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一.牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬 ...
- p3371 单源最短路径(弱化版)-java题解-最短路
弱化版传送门: P3371 [模板]单源最短路径(弱化版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通 ...
- es查询时间long转date_es 日期范围查询(java)
es 建立表的时候要将类型设置为 date,也就是设置 mapping PUT jtthink { "mappings": { "ipaddr": { &quo ...
最新文章
- 一个XML Schema及XML文档(联系人)
- Hadoop 面试,来看这篇就够了
- 入手5G手机别太急!国内部分5G手机可能有网没信号
- JAVA面向对象初步知识总结:封装、继承、多态
- 【转】java线程池的原理和机制
- 深入学习c++(虚函数遇到析构函数就退化了)
- Navicat MySql 注册码
- ZipEntry 类,zip的压缩与解压
- c语言编程串级控制,组态王-串级控制
- 使用linux提交pbs任务:运行matlab或perl程序
- 液压泵优化设计matlab,基于MATLAB的外啮合齿轮泵优化设计
- 你知道java中重载和重写的区别吗?(详细解说)
- 【Day4.7】错过湄南河夜游,去河畔夜市晚餐
- 解决异常redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
- halcon修改图像的灰度值
- 【递归入门】组合的输出
- BZOJ1412: [ZJOI2009]狼和羊的故事
- Kotlin-Android世界的一股清流
- Python 将一个已知的 utc时间字符串 转换为东八区时间
- Oracle-表空间管理
热门文章
- 28335学习之《模数转换器ADC》
- input[type=file]去掉“未选择任何文件”及样式改进
- 6个语文写作技巧和方法
- oracle数据库系统中启动数据库第一步,Oracle数据库基础题库【含答案】
- SAP Gateway 在开发系统和生产系统上的缓存控制
- 毕设模块之一 —— 基于PyQt5+openCV图像预处理软件系统设计
- 美国空军文化中心网站遭入侵 信息泄露
- 全球各国研发支出占GDP比例(1996-2018年)
- 张泽华 android ppt,张泽华老师android视频PPT.ppt
- I2C串行总线学习(1)---信号测量