NextDay-Java(适用软件测试)
输入某一天,输出下一天的日期.
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(适用软件测试)相关推荐
- 华为OD岗位:C/C++,java, python , 软件测试,后端开发,JS,数据开发都有
Java,C++,Web, Python,软测 岗位的盆友们可戳: (机考:提供复习资料,每个环节 TIPS 辅导,通过率高!!全程流程随时跟进可查, 一个部门不满意可转推不同部门): ☀️岗位: 华 ...
- java与软件测试哪个好?
有这种问题的同学,其实是在比较学编程好,还是搞测试好?其实重要是看个人喜好的发展,因为兴趣决定方向. 就目前国内工资来看,编程要比测试要好些,不过测试也分何种测试. 你可以兼顾学JAVA然后编写白盒测 ...
- 【Java 强化】单元测试(JUnit3、JUnit4)、XML(语法、约束、文档结构)、DOM、DOM4J
Java 强化 软件测试 黑盒测试:软件测试工程师 白盒测试:软件开发工程师 单元测试(JUnit3.JUnit4) 使用 junit3.x(了解) 使用 junit4.x(掌握) 使用断言方式(了解 ...
- 幕测平台_使用Junit测试异常,测试NextDay函数
需求 NextDay是一个简单的日期计算器,计算给定日期的下一天的具体日期.如给定2020年1月1日,返回2020年1月2日:给定2020年1月31日,返回2020年2月1日.主要要求考察学生对日期边 ...
- java开发速成班培训课程(1)
[url=http://www.buildapp.net/java/show.asp?id=12400]jsp不能显示中文?请帮忙解决一下 <font color=#96AA82>(悬赏: ...
- java se6.0_JDK 1.4用户依然固守 JavaSE6.0大幅攀升
[ITPUB调研分析报告] 编者按:第三届中国IT技术趋势大调查活动于2008年9月15日启动,历经1个月的时间.在线调查期间,受到了来自ITPUB.IXPUB和ChinaUnix.net(以下简称C ...
- 西安有哪些java培训,西安java培训有哪些
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 7月3日,西安中软卓越又迎来了一位位怀揣着梦想的同学们,笑容满面地坐在教室里面,即使每个人对彼此不熟悉,但是出于对我们的技术的认可和对自己内心中的梦想追逐 ...
- java编程用什么软件最好_java语言用什么编程软件
现在软件流行java下的j2ee开发和.net开发两大块其他简单说明:foxpro过时的数据库编程软件有极少数企业使用.vc++适合网络编程较难很多外挂出自于此.vb一种. . JAVA就业前景分析: ...
- Eclipse插件集合
Rails框架软件:eXPlain是一款基于Rails框架开发的项目管理工具.它的安装说明请看这里,软件下载请点击这里,软件说明请点击这里.还有类似的Rails框架软件rPlan. YA系列软件:YA ...
- 聊聊我当年在培训学校做开发的经历
我在大厂和外企前,也在上海一家培训班干过一段时间.这个培训班现在已经倒闭了,不过话说回来,是因为资金的问题倒闭的,培训班本身的运作的还算规范. 当年的培训班和现在的培训班可比性不大,而且我也无意用一家 ...
最新文章
- Web_SQL注入(1)
- python编写函数、计算三个数的最大公约数_Python实现利用最大公约数求三个正整数的最小公倍数示例...
- 【转】刨根究底CSS(1):开篇
- 学成在线--8.Freemarker入门教程
- 学习Java编程-Java Timezone类常见问题
- ubuntu1404_server搭建lamp
- Django表单form
- 数据库笔记03:管理数据表中的数据
- sql server 约束 查找
- 《深度学习》李宏毅 -- task4深度学习介绍和反向传播机制
- HashMap在并发场景下踩过的坑
- WPF DataGrid使用 后台界面修改前台不刷新问题
- java apns ssl错误_无法使用Javapns/Javaapns SSL握手失败发送推送通知
- 八皇后算法带给我们的启示吧
- 最新最全论文合集——基于背景知识的对话系统
- 数字人民币支付新选择 没有网络时也能使用
- Fairy tale(BFS + 大模拟)
- 树莓派安装FISCO-BCOS
- 红帽linux云计算提供商,神州数码获得红帽云计算及服务供应商认证
- Android 忘记锁屏密码的解决办法