WUSTOJ 1275: 男神的逆袭(Java)
1275: 男神的逆袭
题目
计算两个日期相差的天数。更多内容点击标题。
分析
下面说一下我的思路(自己写的,无扩展性):
- 给定一个日期,首先计算这个日期是这一年的第多少天。
- 给定两个日期,直接比较年份即可,闰年相差366天,平年相差365天,计算出相差的天数。
- 然后将两个日期在第一步中算的天数相减。
- 将2中和3中得到的天数相加即为结果。
CSDN上计算日期差的博客有很多,我试了几个都没成功(可能是我写错了,大家可以尝试一下)。个人觉得我的方法比较笨,EMMM,就当练练基础吧(自我安慰QAQ),基础不太好的也可以试试。
代码
/*** 用时:1640ms* @author PengHao* @version A6.1* @date 2019年4月20日 上午10:15:06*/import java.util.Scanner;public class Main {private Scanner sc;private int t, y1, m1, d1, y2, m2, d2; // 输入的数据public Main() {sc = new Scanner(System.in);Date date1, date2;t = sc.nextInt();while ((t--) > 0) {input();date1 = new Date(y1, m1, d1);date2 = new Date(y2, m2, d2);System.out.println(Date.daysBetweenYears(date1, date2));}sc.close();}/*** 输入*/private void input() {y1 = sc.nextInt();m1 = sc.nextInt();d1 = sc.nextInt();y2 = sc.nextInt();m2 = sc.nextInt();d2 = sc.nextInt();}public static void main(String[] args) {new Main();}}/*** 日期类* * @author PengHao* @version A2.0* @date 2019年4月20日 上午10:41:43*/
class Date {/*** @Field daysOfYear 当前日期是这一年的第多少天*/private int year, month, day, daysOfYear;public Date(int year, int month, int day) {this.year = year;this.month = month;this.day = day;daysOfYear = daysOfYear();}/*** @return 当前日期在这一年的第多少天*/private int daysOfYear() {int days = day; // 当月的天数// 月份天数表int[] daysOfMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };// 闰年加1天if (0 == year % 4 && 0 != year % 100 || 0 == year % 400) {daysOfMonth[1]++;}// 前面month-1个月的天数for (int i = 0; i < month - 1; i++) {days += daysOfMonth[i];}return days;}/*** @param d1 第一个日期* @param d2 第二个日期* @return 相差天数*/public static int daysBetweenYears(Date d1, Date d2) {// 同一年,直接返回当年天数的差即可if (d1.year == d2.year) {return Math.abs(d1.daysOfYear - d2.daysOfYear);} else if (d1.year > d2.year) {// 保证d1的年份小于d2的年份Date temp = d1;d1 = d2;d2 = temp;}int days = 0;for (int i = d1.year; i < d2.year; i++) {if (0 == i % 4 && 0 != i % 100 || 0 == i % 400) {days += 366; // 闰年加366} else {days += 365; // 平年加365}}days += d2.daysOfYear - d1.daysOfYear;return days;}}
写在最后:
- 如需转载,请于标题下注明链接形式的wowpH的博客即可;
- 代码原创,如需公开引用,不能删除首行注释(作者,版本号,时间等信息)。
WUSTOJ 1275: 男神的逆袭(Java)相关推荐
- Java学习路线总结,逆袭Java架构师
本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...
- python程序员现状_天才Python程序员身价上亿却被说挫,6个月减90斤,逆袭成文艺范男神!...
image 你对程序猿的印象是怎么样? 你所知道的程序员,是一种自嘲为码农的猿类 学习Python中有不明白推荐加入交流群 号:864573496 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频 ...
- 天才程序员身价上亿却被说挫,6个月减90斤,逆袭成文艺范男神
你对程序猿的印象是怎么样? 你所知道的程序员,是一种自嘲为码农的猿类,具备宅.闷骚.随性.不修边幅--的特点. 格子衫.条纹polo.单品T恤.大裤衩.双肩包是他们的穿衣标配- 小哥Kenneth R ...
- 我在百度Python小白逆袭大神课程中“打怪”欢乐之旅
本文描述了作者在参加百度Python小白逆袭大神课程一些亲身经历,从开始的半信半疑,到最后坚定的革命信念,给没有参加过百度课程的同学一点参考,文中有高质量的数据分析.pyecharts动态 ...
- 屌丝逆袭高富帅之JAVA之路
据说学习JAVA可以逆袭高富帅,所以本屌丝来了.一直在想一个问题,电脑上的这个软件.网站是怎么做的.后来,去查资料.是用语言写出来的.哇!写出来的.什么玩意儿写出来的?编程语言.神马是编程语言?这个是 ...
- python画饼图_百度飞桨PaddlePaddle之[Python小白逆袭大神]7天训练营
第三次参加百度的7天训练营了 这次参加的主题是[Python小白逆袭大神],不过你别看是小白逆势...除非你一开始参加就逆袭完,不然你真的是python小白,这个课程还是有难难度的. 说一下个训练营的 ...
- 百度飞桨小白逆袭大神之鲤鱼跃龙门
小白逆袭大神之综合大作业 综合大作业 词云生成器(自己修改) 这里是三岁,转眼间已经到了大作业了,成功与否最后一搏,最后给小白一点建议吧!加油!等到全部结束后回过头再看一遍效果特别好,会发现忽然间恍然 ...
- Python小白逆袭大神-结营心得-alading
Python小白逆袭大神-结营心得 赶在五一前结束的Python小白逆袭大神7天打卡营结束了,经过了7天的练习,我觉得收获还是很多的.经过整理总结,进行分享. 1. 本期培训重点 本期集训营主要是一些 ...
- python小白逆袭大神_python小白逆天(3),Python,小白逆袭,大神,三
Python小白逆袭大神 作业三 作业: 对<青春有你2>对选手体重分布进行可视化,绘制饼状图 这个作业是根据第二天爬取获得的json文件进行数据的处理课可视化. with open('d ...
- java学习之屌丝逆袭
Java学习攻略之视频学习篇 --屌丝逆袭之7K轻松拿 屌丝靓妹,你现在学习java还在抱着一本本学习资料学吗?见过<java编程思想>这本书吧,这本书确实很好,那么厚一本,你真有勇气看下 ...
最新文章
- 数列极限---和Gauss(取整)函数有关
- vuex 编译项目_俺咋能看懂公司前端项目?
- 查找数组中未出现的和出现2次的数值 Set Mismatch
- mysql variables 大记录 查询 慢_MySQL - 慢查询
- 抽取+生成:一种基于背景知识的参考感知网络对话模型
- 深度学习之循环神经网络(3)梯度传播
- 图解 深入浅出 JavaWeb:Servlet 再说几句
- java web试题_Java web开发经典面试题汇总(内附答案详解)
- 微信点餐系统感悟(上1-6章)
- 电感式传感器工作原理与电感式传感器应用案例-博扬智能
- QR码与DM码的对比
- ASP.NET Core (视频)教程汇总
- 上周刚号召加班,这周立马双休,董明珠把互联网玩明白了……
- 架构师必备!看我如何一步一步攻克面试官,详细解说
- 【kettle抽取Orecle/Mysql数据至HDFS】诸如‘\u0001’等特殊分隔符表示法
- 微信html 全屏显示,关于微信上网页图片点击全屏放大效果
- 页面里的在线实时聊天实现
- C/C++编译总结 (Linux下g++、makefile、automake)
- ios swift是静态语言吗
- HTML5 <a> 标签
热门文章
- mysql admin账号密码忘记_使用mysqladmin命令修改Mysql密码与忘记密码
- 如何删除ie浏览器缓存文件、缓存js
- 技术译文 | MySQL 8 需要多大的 innodb_buffer_pool_instances 值(上)
- java软尾山地车评测_GT Sensor X Pro 软尾山地自行车测评
- 5G无线技术基础自学系列 | 时域资源
- Regular Expression简介
- 腾讯云服务器SSH密匙登录教程
- 网速/带宽与下载速度对照表
- 简单的MCU加密方法,防破解、防抄袭、防山寨
- 计算机音乐有哪些优势,谈谈用电脑听无损音乐的好处