题目描述:

已知今天的日期,请你推算若干天后是什么日期。

说明:假设今天的日期是 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题解相关推荐

  1. 自定义日期工具类 java 1614698552

    自定义日期工具类 java 1614698552 需求 思路 演练 日期转字符串的方法 字符串转日期方法 测试类 更多尝试 测试另一个方法

  2. java变量中不属于复合类型的数据类型是_2006新版JAVA题解(JAVA简单数据类型)...

    2006新版JAVA题解(JAVA简单数据类型) 2007年1月22日来源:233网校网校课程 在线题库评论 分享到 1.下列哪一个是合法的标识符: A.12class; B.+viod; C.-5; ...

  3. 日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯. 2.面向对象的出现,将复杂的事情简单化. 3.面向对象的出现,将之前过 ...

  4. 2020第五届上海第二工业大学新生程序设计竞赛(Java题解)

    2020第五届上海第二工业大学新生程序设计竞赛(Java题解) 作为C/C++版本的补充题解,仅供参考 需要解析的可以看这篇: 2020第五届上海第二工业大学新生程序设计竞赛 用Java语言参加竞赛时 ...

  5. Java题解:如何获取某一天的下一天的时间

    java如何处理日期的原理 java中提供了java.util.Date类来处理日期格式的数据,通过它可以得到其所代表的日期的年月日和时分秒等信息. java.util.Date类的底层的实现是通过一 ...

  6. PTA | 日期的推算* (10分)

    [PTA]日期的推算* (10分) 已知今天的日期,请你推算若干天后是什么日期. 说明:假设今天的日期是 y​1年 m1月 d​1日,过 n 天后的日期为 y​2年 m​2月 d​2日. 输入格式 y ...

  7. 笔试编程题 拼凑正方形 Java题解 牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方

    题目描述 牛牛有4根木棍,长度分别为a,b,c,d.羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一.牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬 ...

  8. p3371 单源最短路径(弱化版)-java题解-最短路

    弱化版传送门: P3371 [模板]单源最短路径(弱化版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通 ...

  9. es查询时间long转date_es 日期范围查询(java)

    es 建立表的时候要将类型设置为 date,也就是设置 mapping PUT jtthink { "mappings": { "ipaddr": { &quo ...

最新文章

  1. 一个XML Schema及XML文档(联系人)
  2. Hadoop 面试,来看这篇就够了
  3. 入手5G手机别太急!国内部分5G手机可能有网没信号
  4. JAVA面向对象初步知识总结:封装、继承、多态
  5. 【转】java线程池的原理和机制
  6. 深入学习c++(虚函数遇到析构函数就退化了)
  7. Navicat MySql 注册码
  8. ZipEntry 类,zip的压缩与解压
  9. c语言编程串级控制,组态王-串级控制
  10. 使用linux提交pbs任务:运行matlab或perl程序
  11. 液压泵优化设计matlab,基于MATLAB的外啮合齿轮泵优化设计
  12. 你知道java中重载和重写的区别吗?(详细解说)
  13. 【Day4.7】错过湄南河夜游,去河畔夜市晚餐
  14. 解决异常redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
  15. halcon修改图像的灰度值
  16. 【递归入门】组合的输出
  17. BZOJ1412: [ZJOI2009]狼和羊的故事
  18. Kotlin-Android世界的一股清流
  19. Python 将一个已知的 utc时间字符串 转换为东八区时间
  20. Oracle-表空间管理

热门文章

  1. 28335学习之《模数转换器ADC》
  2. input[type=file]去掉“未选择任何文件”及样式改进
  3. 6个语文写作技巧和方法
  4. oracle数据库系统中启动数据库第一步,Oracle数据库基础题库【含答案】
  5. SAP Gateway 在开发系统和生产系统上的缓存控制
  6. 毕设模块之一 —— 基于PyQt5+openCV图像预处理软件系统设计
  7. 美国空军文化中心网站遭入侵 信息泄露
  8. 全球各国研发支出占GDP比例(1996-2018年)
  9. 张泽华 android ppt,张泽华老师android视频PPT.ppt
  10. I2C串行总线学习(1)---信号测量