展开全部

import java.util.Scanner;

/**

* Created by xpf on 2018/6/22 :)

* GitHub:xinpengfei520

* Function:

*/

public class CalculateUtils {

/*平年二月28天*/

private static final int DAYS_28 = 28;

/*闰年二月29天*/

private static final int DAYS_29 = 29;

/*除了31天的月份e68a84e8a2ad3231313335323631343130323136353331333366306461其他均为30天*/

private static final int DAYS_30 = 30;

/*1、3、5、7、8、10、12月份31天*/

private static final int DAYS_31 = 31;

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("Please input year:");

int year = input.nextInt();

System.out.println("Please input month:");

int month = input.nextInt();

System.out.println("Please input day:");

int day = input.nextInt();

int daysInYear = getDaysInYear(year, month, day);

System.out.println("daysInYear:" + daysInYear);

}

/**

* get days in this year

*

* @param year

* @param month

* @param day

* @return

*/

public static int getDaysInYear(int year, int month, int day) {

int totalDays = 0;

switch (month) {

// 12 月份加的是11月份的天数,依次类推

case 12:

totalDays += DAYS_30;

case 11:

totalDays += DAYS_31;

case 10:

totalDays += DAYS_30;

case 9:

totalDays += DAYS_31;

case 8:

totalDays += DAYS_31;

case 7:

totalDays += DAYS_30;

case 6:

totalDays += DAYS_31;

case 5:

totalDays += DAYS_30;

case 4:

totalDays += DAYS_31;

case 3:

// 判断是否是闰年

if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {

totalDays += DAYS_29;

} else {

totalDays += DAYS_28;

}

case 2:

totalDays += DAYS_31;

case 1: // 如果是1月份就加上输入的天数

totalDays += day;

}

return totalDays;

}

}

【解题思路】

1、通过年份区分是闰年还是平年,平年 2 月 28 年,闰年 2 月 29 天。

2、1、3、5、7、8、10、12 月份为 31 天,其余月份为 30 天。

3、将每个月的天数相加即可,如果输入的是 12 月,则从 11 月往前累加到1月。

扩展资料

其他java计算日期的方式

package study01;

import java.util.Scanner;

public class TestDay {

/*

* 输入2017年的月和日:month=?,day=? 输出输入的日期是2017年的第几天,使用switch完成

*/

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("month=");

int month = sc.nextInt();

System.out.print("day=");

int day = sc.nextInt();

int days = 0;

switch (month) {

case 12:

days += 30;

case 11:

days += 31;

case 10:

days += 30;

case 9:

days += 31;

case 8:

days += 31;

case 7:

days += 30;

case 6:

days += 31;

case 5:

days += 30;

case 4:

days += 31;

case 3:

days += 28;

case 2:

days += 31;

case 1:

days += day;

}

if(days>365){

System.out.println("你输入的已经超过了365天了");

}else{

System.out.println("第" + days + "天");

}

}

}

输出的结果如下:

month=12

day=31

第365天

java输入日期计算天数_(JAVA)输入年月日,计算日期是今年的第几天?相关推荐

  1. python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)...

    放两个小轮子吧,欢迎测试bug,然后告诉我: 1.返回指定日期所在的一周 2,计算一个日期的月份和天数加减 # -*- coding: utf-8 -*- """ Cre ...

  2. wps表格日期计算天数_如何计算Google表格中两个日期之间的天数

    wps表格日期计算天数 If you want to count the number of days between two dates, you can use the DAYS, DATEDIF ...

  3. Python实现:开始日期 + 间隔天数,依次输入所有日期

     函数说明:  根据输入的初始日期 和具体的时间间隔,依次获得日期 code: ''' 函数中文名称: 时间间隔生成日期 函数英文名称: FUN_DATE 输入参数说明: 开始日期,间隔天数 输入参数 ...

  4. java对数字的处理_[java初探10]__关于数字处理类

    前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: ...

  5. java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发

    [Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...

  6. java类全路径简写_[JAVA] JAVA 类路径

    Java 类路径 类路径是所有包含类文件的路径的集合. 类路径中的目录和归档文件是搜寻类的起始点. 虚拟机搜寻类 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件 搜寻再从 ...

  7. excel表格计算年龄_在Excel中计算年龄

    excel表格计算年龄 Can you remember how old you are? Or are you like me, and have to ask, "What year i ...

  8. 计算天数-本题要求编写程序计算某年某月某日是该年中的第几天

    本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是 ...

  9. python计算卡方分布_如何用Python计算上证指数的涨跌幅分布情况?

    话不多说先上代码,这个分布情况指的就是分析一下涨跌幅在每个百分比阶段各有多少天,例如0%-1%有多少天,1%-2%有多少天: import os#缓存数据class SecurityData: cou ...

最新文章

  1. 相关计算机专业的英语文献,英文文献及翻译计算机专业.doc
  2. 何恺明大神新作:一种用于目标检测的主流ViT架构,效果SOTA
  3. 0518 Scrum项目5.0
  4. nchar,char,varchar与nvarchar区别(收藏)
  5. 剑指offer六十一之序列化二叉树(待补充)
  6. MVC 事物同时保存,更新数据库
  7. 【论文解读】打破常规,逆残差模块超强改进,新一代移动端模型MobileNeXt来了!精度速度双超MobileNetV2...
  8. C++实现折半插入排序
  9. 用计算机模拟光子行为,光量子玻色—费米模拟系统的设计与实现
  10. 每个人都有自己的秘密
  11. 华为手机可以安装python吗_何安装python2.6
  12. 程序员的自我修养——远离“外包思维”
  13. PyTorch入门(三)--实现简单图像分类器
  14. java servlet 开发_Java之基于Servlet的Web开发简介
  15. java 虚拟内存 堆_jvm虚拟内存分布 与 GC算法
  16. js每隔5分钟执行一次ajax请求的实现方法
  17. 软件著作权人享有的权利
  18. 剑指offer(51-59题)详解
  19. 系统变慢,如何进行排查处理?
  20. LeetCode-自除数

热门文章

  1. 【IBatis.Net】 各种配置说明
  2. IIS+PHP+MYSQL安装配置
  3. mvc3中正确处理ajax访问需要登录的页面
  4. 组织模式 - Introduction
  5. WSE 3.0异步调用, MTOM, Custom Policy Trace Assertion
  6. php curl安装检查,如何判断php的curl是否已安装
  7. linux 编译链接图
  8. 不用计算实现 图片懒加载
  9. linux shell实现go.mod迁移后版本号的更新问题(技能点:sed删除行自定义分隔符;文件的过滤后遍历)
  10. go日期和时间相关函数使用示例