7-4 求下一天 (30 分)
**
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 分)相关推荐
- 7-5 求前N天 (30 分)
输入年月日的值(均为整型数),同时输入一个取值范围在[-10,10] 之间的整型数n,输出该日期的前n天(当n > 0时).该日期的后n天(当n<0时). 其中年份取值范围为 [1820, ...
- PAT甲级1119 Pre- and Post-order Traversals (30分):[C++题解]暴搜dfs、前序遍历和后序遍历求中序遍历
文章目录 题目分析 题目链接 题目分析 分析 给了前序遍历和后序遍历,能够确定根结点,但是左子树和右子树的长度是不确定的.这里采用的解决方案是枚举左子树的结点个数,其实右子树的结点个数也确定了.对于每 ...
- PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:dijkstra求单源最短路的题目. 只是写两遍而已,第一遍求按照路径长度求,第二遍按照时间最少求. 另外加一个vector路径的判断 ...
- PAT甲级1087 All Roads Lead to Rome (30分):[C++题解]dijkstra求单源最短路综合、最短路条数、保存路径
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 首先这是一道dijkstra算法求最短路的题目,不过此题较为复杂.首先需要将字符串城市名映射成数字,这里使用hash table 名 ...
- 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 ...
- PAT甲级1115 Counting Nodes in a BST (30分):[C++题解] 递归建二叉搜索树、dfs求一层结点数量
文章目录 题目分析 题目链接 题目分析 分析 首先本题给定的二叉搜索树的定义和其他地方的不同.本题小于等于的是左子树,右子树是大于根结点的. 然后说一下做题的思路. 给定一串数据,让构造二叉搜索树. ...
- 【CCCC】L3-021 神坛 (30分)计算几何+求三角形面积(极角排序)
problem L3-021 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如 ...
- 任务二:实现求平方根关键算法(30 分)求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根 s,然后将结果s 输出。例如若 n 为 1000 时,则 s=153.909
任务二:实现求平方根关键算法(30 分) 求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根 s, 然后将结果 s 输出.例如若 n 为 1000 时,则 s=153.909 ...
- PAT甲级1030 Travel Plan (30分):[C++题解]dijkstra求单源最短路、保存路径
文章目录 题目分析 题目链接 题目分析 来源:PAT网站 分析 dijkstra模板默写过来,然后多了一个保存路径,使用数组pre[N]记录最短路上每个点的前驱,通过pre数组保存到vector中 v ...
最新文章
- pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
- python基础之面向对象01
- Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号...
- Hibernate学习笔记--第一个Hibernate框架程序
- ubuntu改变@后面的主机名
- Python sys 模块
- 北京计算机在职研究生双证学校,北京在职研究生目前有哪些学校开设了双证专业?...
- PHP 内存泄漏分析定位
- vue mint-ui 三级地址联动
- 【FFMPEG系列】windows下编译ffmpeg且加入libx264
- 帝国cms php调用字段,帝国cms模板教程之栏目自定义字段调用教程及代码
- 测开之路十六:@classmethod与@staticmethod
- 如何配置可以远程访问linux上mysql
- C语言自己编写头文件
- 以太网转DMX模块核心模块 支持ArtNet sACN DMX RDM
- WSAData小说明(转)
- Maven的几个常用Plugin
- android ca证书的安装,如何在Android上以编程方式安装CA证书,无需用户交互
- LaTeX 中使用三级标题
- 深信服 行为感知系统 c.php 远程命令执行漏洞