学习入门项目之万年历

2024-02-26 04:50
文章标签 学习 入门 项目 万年历

本文主要是介绍学习入门项目之万年历,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
需求:根据年份和月份,打印当月日历,如上图
提示:
判断星期几的公式:

1900年1月1日——当前日期的天数差%7+1,7 为星期日,1为星期一

1900年1月1日 星期一

1900年1月7日 日 7 % 7 = 0

1900年1月10日 三 10 % 7 = 3

1900年1月14日 日 14 % 7 = 0

1900年1月16日 二 16 % 7 = 2

1900年1月21日 日 21 % 7 = 0

查询日期到1900年1月1日经历的天数 % 7 = N 星期N 0代表星期日

2020年3月1号

   Scanner s=new Scanner(System.in);System.out.println("请输入一个年份");int year =s.nextInt();System.out.println("请输入一个月份");int month =s.nextInt();System.out.println("请输入一个日期");int day =s.nextInt();int zongday=0;int tianshu=0;for (int i = 1; i <month ; i++) {switch (i){case 4:case 6:case 9:case 11:zongday+=30;break;case 2://判断给定的年份是否为闰年,这年的得出总天数if (year%4==0 && year%100!=0 |year%400==0){zongday+=29;}else {zongday+=28;}break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:zongday+=31;break;default:}}int y=0;for (int i = 1900; i <year ; i++) {//判断给定的年份是否为闰年,得出1900年到上一年的天数if((i%4==0 && i%100!=0 ||i%400==0)) {y += 366;}elsey+=365;}System.out.println(y);int xingqi=(zongday+y+1)%7;System.out.println(zongday);System.out.println(xingqi);String x="/t";switch (xingqi){case 0:x="";break;case 1:x="\t\t";break;case 2:x="\t\t\t\t";break;case 3:x="\t\t\t\t\t\t";break;case 4:x="\t\t\t\t\t\t\t\t";break;case 5:x="\t\t\t\t\t\t\t\t\t\t";break;case 6:x="\t\t\t\t\t\t\t\t\t\t\t\t";break;}switch (month) {case 4:case 6:case 9:case 11:tianshu = 30;break;case 2:if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {tianshu = 29;} else {tianshu = 28;}break;default:tianshu = 31;break;}System.out.println("***************万年历***************");System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");//1 打印表头System.out.print(x);for (int i = 1; i <=tianshu ; i++) {System.out.print(i+"\t\t"); //2打印空白(观察星期与之前空个数之间的规律)if ((xingqi+i)%7==0){//若记录空白数和日期数的和是七的倍数,应该换行输出System.out.println();}}System.out.println();int zong=zongday+y+day;int todayxingqi=(zong)%7;zong=zongday+y+day-1;if (todayxingqi==0){todayxingqi=7;}System.out.println(year+"年"+month+"月"+day+"号"+"这一天是星期"+todayxingqi);System.out.println("这个月有"+tianshu+"天");System.out.println(y);System.out.println("这是离1900年到指定日期的第"+zong+"天");

这篇关于学习入门项目之万年历的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/747755

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin