输入某一天,输出下一天的日期.

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class NextDay {public static void main(String[] args) {while (true) {try {Scanner sc = new Scanner(System.in);System.out.println("请输入一个日期:格式为(xxxx-xx-xx),退出请输入exit");String str = sc.nextLine();if (str.equals("exit")) {System.exit(1);}str.trim();String str1 = str.replaceAll(" ", "");// 去除字符串中的空格// System.out.println(str1);String[] date = str1.split("-");/** for (String i : date) { System.out.println(i); }*/if (date.length < 3) {System.out.println("抱歉,你输入的日期不完整,请按照例:2018-11-20");continue;}List<Integer> list = new ArrayList<Integer>();for (int i = 0; i < date.length; i++) {list.add(Integer.parseInt(date[i]));}int year = list.get(0);int month = list.get(1);int day = list.get(2);if (year < 1) {System.out.println("抱歉,您输入的年份有误!");continue;}if (month < 1 || month > 12) {System.out.println("抱歉,您输入的月份有误!");continue;}if (month == 12 && day == 31) {System.out.println("NextDay:" + (year + 1) + "-1-1");continue;}// 判断输入的年份是平年还是闰年,来判断当输入2月时天数是否有误if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {// 该年是闰年,2月有29天if (month == 2) {if (day > 29) {System.out.println("抱歉," + year + "是闰年,2月只有29天!");continue;} else if (day < 1) {System.out.println("抱歉,您输入的日期有误!");continue;} else {if (day == 29) {System.out.println("NextDay:" + year + "-" + 3 + "-" + 1);continue;} else {day += 1;}}}} else {// 该年是平年,2月有28天if (month == 2) {if (day > 28) {System.out.println("抱歉,今年是闰年,2月只有28天!");continue;} else if (day < 1) {System.out.println("抱歉,您输入的日期有误!");continue;} else {if (day == 28) {System.out.println("NextDay:" + year + "-" + 3 + "-" + 1);continue;} else {day += 1;}}}}// 判断4 6 9 11 月的天数输入if (month == 4 || month == 6 || month == 9 || month == 11) {if (day > 30) {System.out.println("抱歉," + month + "月只有30天!");continue;} else if (day < 1) {System.out.println("抱歉,您输入的日期有误!");continue;} else {if (day == 30) {month += 1;day = 1;} else {day += 1;}}} else if (month != 2) { // 判断1 3 5 7 8 10 12月的天数输入if (day > 31) {System.out.println("抱歉," + month + "月只有31天");continue;} else if (day < 1) {System.out.println("抱歉,您输入的日期有误!");continue;} else {if (day == 31) {month += 1;day = 1;} else {day += 1;}}}System.out.println("NextDay:" + year + "-" + month + "-" + day);} catch (NumberFormatException e) {System.out.println("抱歉,您的输入有误,不要输入数字以外的字符!");}}}
}

优秀的代码实现:         NextDay

NextDay-Java(适用软件测试)相关推荐

  1. 华为OD岗位:C/C++,java, python , 软件测试,后端开发,JS,数据开发都有

    Java,C++,Web, Python,软测 岗位的盆友们可戳: (机考:提供复习资料,每个环节 TIPS 辅导,通过率高!!全程流程随时跟进可查, 一个部门不满意可转推不同部门): ☀️岗位: 华 ...

  2. java与软件测试哪个好?

    有这种问题的同学,其实是在比较学编程好,还是搞测试好?其实重要是看个人喜好的发展,因为兴趣决定方向. 就目前国内工资来看,编程要比测试要好些,不过测试也分何种测试. 你可以兼顾学JAVA然后编写白盒测 ...

  3. 【Java 强化】单元测试(JUnit3、JUnit4)、XML(语法、约束、文档结构)、DOM、DOM4J

    Java 强化 软件测试 黑盒测试:软件测试工程师 白盒测试:软件开发工程师 单元测试(JUnit3.JUnit4) 使用 junit3.x(了解) 使用 junit4.x(掌握) 使用断言方式(了解 ...

  4. 幕测平台_使用Junit测试异常,测试NextDay函数

    需求 NextDay是一个简单的日期计算器,计算给定日期的下一天的具体日期.如给定2020年1月1日,返回2020年1月2日:给定2020年1月31日,返回2020年2月1日.主要要求考察学生对日期边 ...

  5. java开发速成班培训课程(1)

    [url=http://www.buildapp.net/java/show.asp?id=12400]jsp不能显示中文?请帮忙解决一下 <font color=#96AA82>(悬赏: ...

  6. java se6.0_JDK 1.4用户依然固守 JavaSE6.0大幅攀升

    [ITPUB调研分析报告] 编者按:第三届中国IT技术趋势大调查活动于2008年9月15日启动,历经1个月的时间.在线调查期间,受到了来自ITPUB.IXPUB和ChinaUnix.net(以下简称C ...

  7. 西安有哪些java培训,西安java培训有哪些

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 7月3日,西安中软卓越又迎来了一位位怀揣着梦想的同学们,笑容满面地坐在教室里面,即使每个人对彼此不熟悉,但是出于对我们的技术的认可和对自己内心中的梦想追逐 ...

  8. java编程用什么软件最好_java语言用什么编程软件

    现在软件流行java下的j2ee开发和.net开发两大块其他简单说明:foxpro过时的数据库编程软件有极少数企业使用.vc++适合网络编程较难很多外挂出自于此.vb一种. . JAVA就业前景分析: ...

  9. Eclipse插件集合

    Rails框架软件:eXPlain是一款基于Rails框架开发的项目管理工具.它的安装说明请看这里,软件下载请点击这里,软件说明请点击这里.还有类似的Rails框架软件rPlan. YA系列软件:YA ...

  10. 聊聊我当年在培训学校做开发的经历

    我在大厂和外企前,也在上海一家培训班干过一段时间.这个培训班现在已经倒闭了,不过话说回来,是因为资金的问题倒闭的,培训班本身的运作的还算规范. 当年的培训班和现在的培训班可比性不大,而且我也无意用一家 ...

最新文章

  1. Web_SQL注入(1)
  2. python编写函数、计算三个数的最大公约数_Python实现利用最大公约数求三个正整数的最小公倍数示例...
  3. 【转】刨根究底CSS(1):开篇
  4. 学成在线--8.Freemarker入门教程
  5. 学习Java编程-Java Timezone类常见问题
  6. ubuntu1404_server搭建lamp
  7. Django表单form
  8. 数据库笔记03:管理数据表中的数据
  9. sql server 约束 查找
  10. 《深度学习》李宏毅 -- task4深度学习介绍和反向传播机制
  11. HashMap在并发场景下踩过的坑
  12. WPF DataGrid使用 后台界面修改前台不刷新问题
  13. java apns ssl错误_无法使用Javapns/Javaapns SSL握手失败发送推送通知
  14. 八皇后算法带给我们的启示吧
  15. 最新最全论文合集——基于背景知识的对话系统
  16. 数字人民币支付新选择 没有网络时也能使用
  17. Fairy tale(BFS + 大模拟)
  18. 树莓派安装FISCO-BCOS
  19. 红帽linux云计算提供商,神州数码获得红帽云计算及服务供应商认证
  20. Android 忘记锁屏密码的解决办法

热门文章

  1. windows10网速监控(netspeedmonitor)
  2. 【Visual C++】游戏开发笔记四十七 浅墨DirectX教程十五 翱翔于三维世界 摄像机的实现
  3. App Thinning(应用瘦身)功能介绍
  4. oracle dba 培训教程
  5. 【033】Bootstrap实现标签页效果
  6. vue打开新的标签页
  7. CSS3实现对话气泡效果
  8. 卷积神经网络案例:中文字体识别——隶书和行楷
  9. 谷歌宣布搜索引擎多个新 AI 功能,听歌识曲 15 秒完成匹配
  10. Excel Vba拆分并填充单元格