java编写在输入特定日期之间_java实现输入日期
/*
从键盘输入一个日期,格式为 yyyy-M-d
要求计算该日期与 1949 年 10 月 1 日距离多少天
例如:
用户输入了:1949-10-2
程序输出:1
用户输入了:1949-11-1
程序输出:31
*/
package Question20_29;
import java.util.Scanner;
public class Question24MustRemember {
public static int dayOfYear[]={365,366};//平年365天,闰年366天
public static int dayOfMonth[][]={
46
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
public static int dayOfYearIndex(int year){ //根据是否是闰年来给出dayOfYear的数组的下标
if((year%4==0&&year%100!=0)||year%400==0){
return 1;
}
return 0;
}
public static int dayApartFromTheBrginOfYear(int year,int month,int day){//计算month月day日是year年的第
几天
int days=day;
for (int i = 1; i < month; i++) {
days+=dayOfMonth[dayOfYearIndex(year)][i];
}
return days;
}
public static int apartDays(String startDayString,String endDayString ) {
String s1[]=startDayString.split("-");
String s2[]=endDayString.split("-");
int days=0;
int flag;
int startYear=Integer.parseInt(s1[0]);
int endYear=Integer.parseInt(s2[0]);
int startMonth=Integer.parseInt(s1[1]);
int endMonth=Integer.parseInt(s2[1]);
int startDay=Integer.parseInt(s1[2]);
int endDay=Integer.parseInt(s2[2]);
for (int i = startYear; i < endYear; i++) {
days+=dayOfYear[dayOfYearIndex(i)];
}
days+=dayApartFromTheBrginOfYear(endYear,endMonth,endDay);
days-=dayApartFromTheBrginOfYear(startYear,startMonth,startDay);
return days;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String startDayString="1949-10-01";
String endDayString=scanner.nextLine();
System.out.println(apartDays(startDayString, endDayString));
}
47
}
运行结果:
输入日期格式为:(1949-10-2)
输入第一个日期:1949-10-2
输入第二个日期:1949-11-2
1949-10-2 到 1949-11-2
距离 31 天
java编写在输入特定日期之间_java实现输入日期相关推荐
- 计算两日期之间差多少天----日期格式为:yyyy-mm-dd
计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...
- Oracle 计算两个日期之间的年月、日期,月份数、天数
目录 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 获取日期之间的月数(包括自身) 时间:2019-05-30 至 ...
- java中日期怎么_Java 中的日期处理
最初学习 Java 时是采用学校教材和市面上的一些 Java 视频教程进行学习,到了工作中才发现有些 API 或包已经过时了.最近使用 Java 中的日期处理时发现 java.util.date 与 ...
- java怎么把毫秒转换成天数_Java 毫秒转换为日期类型、日期转换为毫秒
//毫秒转换为日期 public static void main(String[] args) { DateFormat formatter = new SimpleDateFormat(" ...
- java编写统计玩家总数的程序_JAVA程序:输出一组数后如何统计特定数的总数
题目:定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数,将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出... 题目:定义 ...
- 用Java 编写菜单价格和的程序_Java程序设计基础作业目录(作业笔记)
持续更新中............. Java程序设计基础笔记 • [目录] 我的大学笔记>>> 第1章 初识Java>>> 1.1.4 学生成绩等级流程图练习 1 ...
- java编写一个可切换的界面_java web 项目实现手动中英文切换
Java程序的国际化主要通过如下3个类完成 Java.util.ResourceBundle:用于加载资源包 Java.util.Locale:对应一个特定的国家/地区.语言环境 Java.text. ...
- java编写一个表示二维平面_JAVA习题集2精品名师资料.doc
导读:java习题集2.doc,习题二一.判断题 1.一个类定义了一个或多个构造方法,则 Java 不提供默认的构造方法.( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法.( ) 3 ...
- java超大数整除7,Java编写程序:求1-100之间可以被7整除的数的个数,并输出这些数。求大佬...
public class c {public static void main(String[] args) {for(int i=10;i<100;i++){if(i%7==0&&am ...
最新文章
- [Go]结构体及其方法
- Leetcode: Spiral Matrix
- 利用OpenCV进行边缘检测
- devc++ 运行时黑屏一闪而过
- 创建您自己的.NET DynamicObject 为什么、何时和如何
- web安全day36:Linux脚本编写自动修改IP地址
- 「兼容M1」iZotope RX 9 Advanced for Mac - 音频修复工具
- pycharm git使用_通过Pycharm中的版本控制工具VCS使用Git
- IDEA报错解决:Cannot resolve com.oracle:ojdbc7:12.1.0.2或‘com.oracle:ojdbc7:12.1.0.2‘ not found
- 自动执行bash被拒绝 提示/bin/sh: /test.sh: Permission denied
- 微信认证小程序如何绑定微信支付商户平台
- This scheduler instance is still active but was recovered by another instanc解决办法
- python应聘项目经历怎么写_简历中、面试中,怎么描述你的工作/项目经历?
- java抽象类重载_012 JAVA 抽象类、接口、String类的基础了解
- php header 转向,php使用header函数的http头设置大全(包含301转向及404状态)
- 基于MATALB的多光谱影像与全色影像(高分辨率)的融合的几种方法
- 不爱打空格的小孟c语言,语言学专家:很多年轻人发信息不爱用句号,其实都是有原因的...
- mysql删去root用户无法登录_MySQL误删root用户导致无法登陆解决方法
- 0413-0417数字资产每周数据速览 | TokenInsight
- 智能/傻瓜交换机、光纤交换机、普通交换机的区别
热门文章
- 【KERAS/直方图均衡化】图像数据集扩充
- hadoop--HDFS概述
- linux计划任务crond服务
- ES6学习笔记(三)—— Set 和 Map
- Asp.Net防止刷新重复提交数据的办法
- Hyper-V与VMware的技术特性对比
- Ext3.2 beta版已发布
- html 方式使用iview,VUE之iview框架使用教程
- c语言结构体 单科成绩排序,【查错】怎样让结构体其他信息(姓名)对应关键值(成绩)排序输出...
- 信息学奥赛一本通 1967:【14NOIP普及组】螺旋矩阵 | 洛谷 P2239 [NOIP2014 普及组] 螺旋矩阵