打印日期(解题报告)
来源:互联网 发布:手机文件恢复软件 编辑:程序博客网 时间:2024/05/22 00:05
题目描述
给出年分m和一年中的第n天,算出第n天是几月几号。输入描述:
输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。
输出描述:
可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。
输入例子:
2000 32000 312000 402000 602000 612001 60
输出例子:
2000-01-032000-01-312000-02-092000-02-292000-03-012001-03-01
思路:给定年份和月份,求日期
1.判定年份是否为闰年,如果是闰年,2月份为29天
2.从一月开始算,剩余天数小于等于当前月份的天数时,记录当前的月份和天数。
package huazhongUniversity;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class PrintDate {public static void main(String[] args) throws IOException{// TODO Auto-generated method stubBufferedReader br=new BufferedReader(new InputStreamReader(System.in));String line=null;while((line=br.readLine())!=null){String [] strs=line.split(" ");int year=Integer.parseInt(strs[0]);int days=Integer.parseInt(strs[1]);System.out.println(Date(year,days));}}public static String Date(int year,int days){int[] months={0,31,28,31,30,31,30,31,31,30,31,30,31};if(isRunYear(year)){months[2]=29;}String ans=year+"-";for(int i=1;i<months.length;++i){if(days>months[i]){days-=months[i];}else{if(i<10){ans=ans+"0"+i+"-";}else{ans=ans+i+"-";}if(days<10){ans+="0"+days;}else{ans+=days;}break;}}return ans;}public static boolean isRunYear(int year){if(year%400==0||(year%4==0&&year%100!=0)){return true;}else{return false;}}}
阅读全文
0 0
- 打印日期(解题报告)
- 打印十字图 解题报告
- 日期游戏解题报告(对抗搜索的典型运用)
- HDU1010(解题报告)
- POJ(解题报告)
- HDU1262(解题报告)
- HDU2028(解题报告)
- (解题报告)HDU1000
- 【剑指Offer】从尾到头打印链表 解题报告
- Leetcode 655. Print Binary Tree 打印二叉树 解题报告
- pku 3751 时间日期格式转换 解题报告
- 时间与日期处理模块 题目解题报告
- c++回文日期【NOIP2016普及组】解题报告
- zju1086 (高精度)解题报告
- Poj1122解题报告(水~~~~)
- Sudoku解题报告(陈小宾)
- 非诚勿扰(谢庆皇)解题报告
- POJ2250(compromise) 解题报告
- AVCaptureDevice拍照与短视频
- 屏幕适配
- 线性表-顺序表
- 新技能get√10个PS加速小技巧让你的PS不再卡
- jmeter响应结果乱码问题
- 打印日期(解题报告)
- 解决弹出的窗口window.open会被chrome浏览器阻止的问题
- SpringMVC通过注解@Value获取properties配置
- 5.12 JLL实习日志-实现Anjular Js 功能实现
- Zookeeper系列(三十三)Zookeeper之leader选举算法补充
- MySQL
- Java加密技术(一)—— HMACSHA1 加密算法
- 硬币抛掷
- 【java】图片验证码的随机生成