**

7-4 求下一天 (30 分)

**
输入年月日的值(均为整型数),输出该日期的下一天。 其中:年份的合法取值范围为[1820,2020] ,月份合法取值范围为[1,12] ,日期合法取值范围为[1,31] 。 注意:不允许使用Java中和日期相关的类和方法。

要求:Main类中必须含有如下方法,签名如下:

public static void main(String[] args);//主方法 public static boolean
isLeapYear(int year) ;//判断year是否为闰年,返回boolean类型 public static boolean
checkInputValidity(int year,int month,int day);//判断输入日期是否合法,返回布尔值
public static void nextDate(int year,int month,int day) ; //求输入日期的下一天

解题报告
1.注意输入数据的边界
2.注意2月份情况
3.注意12月份情况
4.注意每月有30天和31天的情况

输入格式:

在一行内输入年月日的值,均为整型数,可以用一到多个空格或回车分隔。

输出格式:

当输入数据非法及输入日期不存在时,输出“Wrong Format”;
当输入日期合法,输出下一天,格式如下:Next date is:年-月-日

输入样例1:

2020 3 10

输出样例1:

Next date is:2020-3-11

输入样例2:

2025 2 10

输出样例2:

Wrong Format

import java.util.Scanner;class Main {//主函数public static void main(String[] args) {Scanner x = new Scanner(System.in);int year = x.nextInt();int month = x.nextInt();int day = x.nextInt();nextDate(year,month,day);}//判断year是否为闰年,返回boolean类型public static boolean isLeapYear(int year) {boolean isLeapYear;isLeapYear = (year % 4 == 0 && year % 100 !=0 )||year % 400 == 0;return isLeapYear;}//判断输入日期是否合法,返回布尔值public static boolean checkInputValidity(int year,int month,int day) {boolean checkInputValidity;int[] a=new int[]{0,31,29,31,30,31,30,31,31,30,31,30,31};if(!isLeapYear(year))a[2] = 28;checkInputValidity = (year>=1820&&year<=2020&&month>0&&month<=12&&day<=a[month]&&day>0);return checkInputValidity;}//求输入日期的下一天public static void nextDate(int year,int month,int day) {int[] a=new int[]{0,31,29,31,30,31,30,31,31,30,31,30,31};int d=0,m=0;if(!isLeapYear(year))//如果不是闰年a[2] = 28;if(checkInputValidity(year,month,day)) {//如果输入的数字合法if(month==12) {//如果是12月if(day==a[month]) {//如果是12月的最后一天year = year+1;m = 1;d=1;}else{//如果不是12月的最后一天m=month;d =day +1;}}else {//如果不是12月if(day==a[month]) {//如果是该月的最后一天m = month + 1;d = 1;}else{//如果不是该月的最后一天m=month;d = day+1;}}System.out.println("Next date is:"+year+"-"+m+"-"+d);}else//如果输入的数字非法System.out.println("Wrong Format");}
}

7-4 求下一天 (30 分)相关推荐

  1. 7-5 求前N天 (30 分)

    输入年月日的值(均为整型数),同时输入一个取值范围在[-10,10] 之间的整型数n,输出该日期的前n天(当n > 0时).该日期的后n天(当n<0时). 其中年份取值范围为 [1820, ...

  2. PAT甲级1119 Pre- and Post-order Traversals (30分):[C++题解]暴搜dfs、前序遍历和后序遍历求中序遍历

    文章目录 题目分析 题目链接 题目分析 分析 给了前序遍历和后序遍历,能够确定根结点,但是左子树和右子树的长度是不确定的.这里采用的解决方案是枚举左子树的结点个数,其实右子树的结点个数也确定了.对于每 ...

  3. PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:dijkstra求单源最短路的题目. 只是写两遍而已,第一遍求按照路径长度求,第二遍按照时间最少求. 另外加一个vector路径的判断 ...

  4. PAT甲级1087 All Roads Lead to Rome (30分):[C++题解]dijkstra求单源最短路综合、最短路条数、保存路径

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 首先这是一道dijkstra算法求最短路的题目,不过此题较为复杂.首先需要将字符串城市名映射成数字,这里使用hash table 名 ...

  5. PAT甲级1053 Path of Equal Weight (30分) :[C++题解]dfs求树的路径长度、邻接表

    文章目录 题目分析 题目链接 题目分析 输入样例: 20 9 24 10 2 4 3 5 10 2 18 9 7 2 2 1 3 12 1 8 6 2 2 00 4 01 02 03 04 02 1 ...

  6. PAT甲级1115 Counting Nodes in a BST (30分):[C++题解] 递归建二叉搜索树、dfs求一层结点数量

    文章目录 题目分析 题目链接 题目分析 分析 首先本题给定的二叉搜索树的定义和其他地方的不同.本题小于等于的是左子树,右子树是大于根结点的. 然后说一下做题的思路. 给定一串数据,让构造二叉搜索树. ...

  7. 【CCCC】L3-021 神坛 (30分)计算几何+求三角形面积(极角排序)

    problem L3-021 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如 ...

  8. 任务二:实现求平方根关键算法(30 分)求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根 s,然后将结果s 输出。例如若 n 为 1000 时,则 s=153.909

    任务二:实现求平方根关键算法(30 分) 求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根 s, 然后将结果 s 输出.例如若 n 为 1000 时,则 s=153.909 ...

  9. PAT甲级1030 Travel Plan (30分):[C++题解]dijkstra求单源最短路、保存路径

    文章目录 题目分析 题目链接 题目分析 来源:PAT网站 分析 dijkstra模板默写过来,然后多了一个保存路径,使用数组pre[N]记录最短路上每个点的前驱,通过pre数组保存到vector中 v ...

最新文章

  1. pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
  2. python基础之面向对象01
  3. Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号...
  4. Hibernate学习笔记--第一个Hibernate框架程序
  5. ubuntu改变@后面的主机名
  6. Python sys 模块
  7. 北京计算机在职研究生双证学校,北京在职研究生目前有哪些学校开设了双证专业?...
  8. PHP 内存泄漏分析定位
  9. vue mint-ui 三级地址联动
  10. 【FFMPEG系列】windows下编译ffmpeg且加入libx264
  11. 帝国cms php调用字段,帝国cms模板教程之栏目自定义字段调用教程及代码
  12. 测开之路十六:@classmethod与@staticmethod
  13. 如何配置可以远程访问linux上mysql
  14. C语言自己编写头文件
  15. 以太网转DMX模块核心模块 支持ArtNet sACN DMX RDM
  16. WSAData小说明(转)
  17. Maven的几个常用Plugin
  18. android ca证书的安装,如何在Android上以编程方式安装CA证书,无需用户交互
  19. LaTeX 中使用三级标题
  20. 深信服 行为感知系统 c.php 远程命令执行漏洞

热门文章

  1. 员工转正述职答辩问什么问题_展风采 创未来 | 记德信地产杭州公司新员工转正述职答辩...
  2. 论文首页下划线怎么对齐_毕业论文标准格式要求是什么样的?
  3. 用js实现千位分隔符
  4. 福大软工1816 · 第一次团队作业
  5. macos中xcode使用opencv,错误总结
  6. POST—GET—两种提交方式的区别
  7. canvas基础之旅
  8. LeetCode之Max Points on a Line Total
  9. ios 内存管理的理解(一) 简述
  10. VS2010与Windows7共舞:对库进行编程