学习入门项目之万年历

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

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat