从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天(java)

编写一个java程序.,用户从键盘输入两个日期(都包括年月日,程序计算两个日期之间相隔的天数,并输出 编写一个java程序ex09 功能:用户从键盘输入两个日期(都包括年月日),程序计算两个日期之间相隔的天数,并输出。 立即下载
/*
 * 从键盘输入一个日期,格式为yyyy-M-d
	要求计算该日期与1949年10月1日距离多少天
	例如:
	用户输入了:1949-10-2
	程序输出:1
	用户输入了:1949-11-1
	程序输出:31
*/
import java.util.Arrays;
import java.util.Scanner;
public class Demo09 {
	static int[][] days = {	// 定义平年days[0]和闰年days[1]
	{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[] conversion(String s) {
		String[] ss = s.split("\\-");
		int[] t = new int[3];
		t[0] = Integer.parseInt(ss[0]);
		t[1] = Integer.parseInt(ss[1]);
		t[2] = Integer.parseInt(ss[2]);
		return t;
	}
	// 计算任意一年内的总天数 (是365还是366)
	public static int calcDay(int y,int m,int d){
		int sum = d;	// 每一年的总天数 (初始化为最后一个月的天数)
		int i = 0;		// 平年下标为 0
		if((y%4==0&&y%100!=0)||(y%400==0)) i = 1; // 闰年下标为 1
		for(int j=0;j<m;j++){
			sum += days[i][j];
		}
		return sum;
	}
	// 判断是否交换输入的两个日期 (日期小者放前)
	public static void isSwap(int[] o,int[] n){
		if(o[0]>n[0]){	// 日期内容交换
			for(int i=0;i<o.length;i++){
				int t = o[i];
				o[i] = n[i];
				n[i] = t;
			}
		}
	}
	// 输出
	public static String p(int[] s){
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<s.length-1;i++){
			sb.append(s[i]+"-");
		}
		sb.append(s[s.length-1]);
		return sb.toString();
	}
	// 计算总天数
	public static int calc(int[] o, int[] n) {
		int sum;
		if(n[0]==o[0]){	// 如果年份相等,侧直接计算天数
			sum = calcDay(n[0],n[1],n[2])-calcDay(o[0],o[1],o[2]);	// 大的日期天数-小的日期天数
		}else{
			sum = calcDay(o[0],12,31)-calcDay(o[0],o[1],o[2]);	// 得到第一年日期到下一年开始的天数
			for(int i=o[0]+1;i<n[0];i++){	// 中间的每年天数 (不包含第一年和最后一年)
				sum += calcDay(i,12,31);
			}
			sum += calcDay(n[0],n[1],n[2]);	// 加上最后一年的天数
		}
		return sum;
	}
	public static void main(String[] args){
//		int[] o = conversion("1949-10-2");
		Scanner scan = new Scanner(System.in);
		System.out.print("输入日期格式为:(1949-10-2)\n输入第一个日期:");
		int[] o = conversion(scan.nextLine());
		System.out.print("输入第二个日期:");
		int[] n = conversion(scan.nextLine());
		int sum = 0;	// 总和
		isSwap(o,n);	// 如果o日期小于n日期,侧交换
		sum = calc(o, n);	// 计算总天数
		System.out.println(p(o)+" 到 "+p(n)+"\n距离"+sum+"天");
	}
}


https://blog.youkuaiyun.com/hanshileiai/article/details/8754850


输入一个日期 输入一个日期, 计数出是一年中的第几天。 立即下载

相关推荐

Excel插件开发实战:从零封装一个带自定义Ribbon的.xlam工具包

本文详细介绍了如何从零开发一个带自定义Ribbon的Excel插件.xlam工具包。通过VBA和XML技术,读者将学习到插件架构设计、Ribbon界面定制、模块化开发以及企业级部署策略,帮助提升Excel自动化办公效率。

weixin_42531128的博客 521

从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天

/* * 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 */ import java.util.Arrays; import java.util.Scanner; public class Demo09 { static int[][]

韩世雷 程序员专栏 1万+

IQA图像质量评价 数据集介绍(LIVE、TID2013、CSIQ、LIVEC、KonIQ-10K)

LIVE、TID2013、CSIQ、LIVEC、KonIQ-10K 数据集介绍

qq_37925923的博客 1万+

输入日期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 i...

weixin_32419609的博客 786

CentOS 8下openLDAP服务器搭建避坑指南:从第三方仓库到phpLDAPadmin配置

本文详细介绍了在CentOS 8环境下搭建openLDAP服务器的完整流程,包括利用Symas第三方仓库解决官方仓库不支持的问题,以及phpLDAPadmin的配置技巧。内容涵盖环境准备、核心配置、安全加固、性能优化等关键环节,帮助系统管理员避开常见陷阱,实现高效稳定的LDAP服务器部署。

weixin_30919429的博客 410

31、MSP430FR2355时钟系统与低功耗模式解析

本文详细解析了MSP430FR2355的时钟系统和低功耗模式。首先介绍了时钟系统的组成,包括XT1振荡器、DCO、MODCLK、MCLK、SMCLK和ACLK的功能与配置方法。接着探讨了MSP430FR2355的五种低功耗模式及其配置要点,并分析了时钟系统与低功耗模式之间的协同关系。最后通过实际应用案例展示了如何在具体场景中优化系统功耗。文章旨在帮助开发者充分利用MSP430FR2355的时钟与低功耗特性,实现高性能、低功耗的嵌入式系统设计。

mars5的博客 198

Java编程题之某年某月某日

题目:输入某年某月某日,判断这一天是这一年的第几天? int year, month, day; int days = 0; int d = 0; int e; input fymd = new input(); do { e = 0; System.out.print("输入年:"); year = fymd.input(); System.out.print("输入月:"); month = fymd.input(); System.out.p

weixin_46503529的博客 663

抖音 webmssdk 签名算法解析:X-Dynosaur / X-Gnarly / X-Bogus 生成原理

它只依赖设备指纹/环境编码与随机数,与 query 内容无关,因此可以独立于 Dynosaur/Gnarly 生成。

猫敷雪 208

java中法定假期天数总和,(蓝桥杯)java模拟题第九题-计算天数

(蓝桥杯)java模拟题第九题---------计算天数从键盘输入一个日期,格式为yyyy-M-d要求计算该日期与1949年10月1日距离多少天例如:用户输入了:1949-10-2程序输出:1用户输入了:1949-11-1程序输出:31/*** @category 1949-10-1到输入日期之间一共有多少天* @author liucanwen* @2012年1月17日 20:59:27**/p...

weixin_39963287的博客 243

ABAP Development Tool for Visual Studio Code 里使用 MCP server

本文讨论了SAP ABAP开发环境中,除GitHub Copilot外,其他可作为MCP客户端接入ABAP开发工具(MCP server)的编码代理(coding agent)。GitHub Copilot是官方确认可用的工具,而其他代理如Claude Code、Cursor、Windsurf Cascade、Cline和Continue虽然理论上支持MCP协议,但要实际用于ABAP开发还需满足两个关键条件:兼容MCP协议,并能处理VS Code虚拟工作区文件系统。这些工具需要单独验证是否支持ABAP开发工

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 262

基于Python实现人脸识别相似度对比

随着人工智能技术的不断进步,人脸识别成为了一种广泛应用的技术。人脸相似度对比是其中的一个重要应用场景,可以用于人脸搜索、身份验证等方面。本文将介绍如何使用Python实现人脸相似度对比。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 9810

计算天数

从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 import java.util.Scanner; public class countDays { public static int dayOfYear[]={365,366};//平

kaishihaohaozuoshi的博客 828

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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 { pub...

南 墙 2万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java判断两个日期相差时长_Java计算两个日期相差多少天

/** 从键盘输入一个日期,格式为yyyy-M-d要求计算该日期与1949年10月1日距离多少天例如:用户输入了:1949-10-2程序输出:1用户输入了:1949-11-1程序输出:31*/import java.util.Arrays;import java.util.Scanner;public class Demo09 {static int[][] days = { // 定义平年day...

weixin_39640845的博客 992

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java从键盘输入任意两个日期,Java计算两个日期相差多少天,java计算日期,/* * 从键盘输入一...

Java计算两个日期相差多少天,java计算日期,/* * 从键盘输入一/* * 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 */ import java.util.Arrays; import...

weixin_36159799的博客 1036

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 i...

weixin_31523181的博客 666

从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天...

/* * 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 */ import java.util.Arrays; import java.util.Scanner; public class Demo09 { st...

weixin_30293079的博客 215

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 i...

weixin_39567046的博客 139

日期间的间隔天数

/*从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:2017-8-31 程序输出:24806*/ -------------------------------------------code------------------------------------------

清新哥哥的博客 2926

标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯

蓝桥杯日期问题常考,java提供了日期类很方便;//日历类Calendar c = Calendar.getInstance();  // 获取实例化对象Date date =c.getTime();  // 日期类得到c的时间;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");  // 修改格式Simpl...

weixin_42131342的博客 258

蓝桥杯 输入日期

从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 /*startYear~endYear,年度之间的天数 *计算Month月day天是year年的第几天 *确定year年是平年还是闰年 *闰年的标准为,能被4整除,不能被100整

北望花村 709
上一篇: 蓝桥杯 算法提高VIP 格子位置(java)
下一篇: 蓝桥杯 算法提高VIP 栅栏打印问题(java)
mainn
博客等级 码龄10年 865粉丝 447原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值