java 二十四节气源码
因为需要编写一个农历日历表,带有天干地支的,因为需要用到二十四节气,找到了资料,编写了这个类

import java.util.Scanner;public class jieqi {int year;int month;int day;String jieqi1;String jieqi2;String[] jieqi1arr = {"","小寒","立春","惊蛰","清明","立夏","芒种","小暑","立秋","白露","寒露","立冬","大雪"};String[] jieqi2arr = {"","大寒","雨水","春分","谷雨","小满","夏至","大暑","处暑","秋分","霜降","小雪","冬至"};public jieqi() {}public jieqi(int year, int month, int day) {this.year = year;this.month = month;this.day = day;setYear1();setDay();}public jieqi(int year, int month) {this.year = year;this.month = month;setYear1();setDay();}public jieqi(int year) {this.year = year;int month = 1;setYear1();while (true){this.month = month;setDay();if (month<10){System.out.print(getYear()+"年0"+getMonth()+"月"+getDays2()+"日为"+getJieqi1()+" ");System.out.println(getYear()+"年0"+getMonth()+"月"+getDays3()+"日为"+getJieqi2());}else{System.out.print(getYear()+"年"+getMonth()+"月"+getDays2()+"日为"+getJieqi1()+" ");System.out.println(getYear()+"年"+getMonth()+"月"+getDays3()+"日为"+getJieqi2());}month ++;if (month>12){break;}}}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getMonth() {return month;}public void setMonth(int month) {this.month = month;}public int getDay() {return day;}public void setDay(int day) {this.day = day;}int i = 4;int yearfen = year;int year4 = 0;//年份的个位int year3 = 0;//年份的十位int year2 = 0;//年份的百位int year1 = 0;//年份的千位public void setYear4() {yearfen = getYear();year4 = yearfen % 10;yearfen /= 10;}public void setYear3() {setYear4();year3 = yearfen % 10;yearfen /= 10;}public void setYear2() {setYear3();year2 = yearfen % 10;yearfen /= 10;}public void setYear1() {setYear2();year1 = yearfen % 10;yearfen /= 10;}public int getYearfen() {return yearfen;}public int getYear4() {return year4;}public int getYear3() {return year3;}public int getYear2() {return year2;}public int getYear1() {return year1;}int days2 = 0;int days3 = 0;int year5;int year6;public int getYear5() {return year5;}public int getYear6() {return year6;}public void setDay() {double c = 0;double d = 0.2422;int l = 0;year5 = getYear1()*10 + getYear2();//年份的前两位year6 = getYear3()*10 + getYear4();//年份的后两位//公式——[Y×D+C]-L,Y=年代数的后2位、D=0.2422、L=闰年数、C取决于节气和年份if (year5 == 19) {//20世纪每个月第一个节气对应的C值double montharr1[] = {0.0, 6.11, 4.15, 6.36, 5.59, 6.318, 6.5, 7.928, 8.35, 8.44, 9.098, 8.218, 7.9};c = montharr1[month];if (month < 3) {l = (int) ((year6 - 1) / 4);} else {l = (int) (year6 / 4);}days2 = (int) (year6 * d + c) - l;//例外情况if (month == 3 && year6 == 81) {days2 += 1;}if (month == 5 && year6 == 11) {days2 += 1;}if (month == 6 && year6 == 02) {days2 += 1;}if (month == 7 && year6 == 25) {days2 += 1;}if (month == 9 && year6 == 27) {days2 += 1;}if (month == 12 && year6 == 54) {days2 += 1;}if (month == 1 && year6 == 82) {days2 += 1;}//20世纪每个月第二个节气对应的C值double montharr2[] = {0.0, 20.84, 19.45, 21.42, 20.888, 21.86, 22.20, 23.65, 23.95, 23.822, 24.218, 23.08, 22.67};c = montharr2[month];if (month < 3) {//1、2月份属于上一年l = (int) ((year6 - 1) / 4);} else {l = (int) (year6 / 4);}days3 = (int) (year6 * d + c) - l;if (month == 2 && year6 == 23) {days3 -= 1;}if (month == 6 && year6 == 28) {days3 += 1;}if (month == 7 && year6 == 22) {days3 += 1;}if (month == 9 && year6 == 42) {days3 += 1;}if (month == 11 && year6 == 78) {days3 += 1;}if (month == 12 && year6 == 18) {days3 -= 1;}}if (year5 == 20) {//21世纪每个月第一个节气对应的C值double montharr1[] = {0.0, 5.4055, 3.87, 5.63, 4.81, 5.52, 5.678, 7.108, 7.5, 7.646, 8.318, 7.438, 7.18};c = montharr1[month];if (month < 3) {//1、2月份属于上一年l = (int) ((year6 - 1) / 4);} else {l = (int) (year6 / 4);}days2 = (int) (year6 * d + c) - l;if (month == 1 && year6 == 19) {days2 -= 1;}if (month == 7 && year6 == 16) {days2 += 1;}if (month == 8 && year6 == 02) {days2 += 1;}if (month == 11 && year6 == 89) {days2 += 1;}//21世纪每个月第一个节气对应的C值double montharr2[] = {0.0, 20.12, 18.73, 20.646, 20.1, 21.04, 21.37, 22.83, 23.13, 23.042, 23.438, 22.36, 21.94};c = montharr2[month];if (month < 3) {//1、2月份属于上一年l = (int) ((year6 - 1) / 4);} else {l = (int) (year6 / 4);}days3 = (int) (year6 * d + c) - l;if (month == 1 && year6 == 82) {days3 += 1;}if (month == 2 && year6 == 26) {days3 -= 1;}if (month == 5 && year6 == 8) {days3 += 1;}if (month == 10 && year6 == 89) {days3 += 1;}}}public int getDays2() {return days2;}public int getDays3() {return days3;}public String getJieqi1() {jieqi1 = jieqi1arr[month];return jieqi1;}public String getJieqi2() {jieqi2 = jieqi2arr[month];return jieqi2;}public static void main(String[] args) {int year;int month;Scanner sc = new Scanner(System.in);System.out.println("请输入年:");year = sc.nextInt();while(year<1900||year>=2100){System.out.println("请输入年:");year = sc.nextInt();}jieqi jq = new jieqi(year);System.out.println("请输入年:");year = sc.nextInt();while(year<1900||year>=2100){System.out.println("请输入年:");year = sc.nextInt();}System.out.println("请输入月:");month = sc.nextInt();while(month<1||month>=13){System.out.println("请输入月:");month = sc.nextInt();}jieqi jq1 = new jieqi(year,month);if (month<10){System.out.print(jq1.getYear()+"年0"+jq1.getMonth()+"月"+jq1.getDays2()+"日为"+jq1.getJieqi1()+" ");System.out.println(jq1.getYear()+"年0"+jq1.getMonth()+"月"+jq1.getDays3()+"日为"+jq1.getJieqi2());}else{System.out.print(jq1.getYear()+"年"+jq1.getMonth()+"月"+jq1.getDays2()+"日为"+jq1.getJieqi1()+" ");System.out.println(jq1.getYear()+"年"+jq1.getMonth()+"月"+jq1.getDays3()+"日为"+jq1.getJieqi2());}System.out.println("请输入年:");year = sc.nextInt();while(year<1900||year>=2100){System.out.println("请输入年:");year = sc.nextInt();}System.out.println("请输入月:");month = sc.nextInt();while(month<1||month>=13){System.out.println("请输入月:");month = sc.nextInt();}System.out.println("请输入日:");int day2 = sc.nextInt();jieqi jq2 = new jieqi(year,month);if (month<10){System.out.print(jq2.getYear()+"年0"+jq2.getMonth()+"月"+jq2.getDays2()+"日为"+jq2.getJieqi1()+" ");System.out.println(jq2.getYear()+"年0"+jq2.getMonth()+"月"+jq2.getDays3()+"日为"+jq2.getJieqi2());}else{System.out.print(jq2.getYear()+"年"+jq2.getMonth()+"月"+jq2.getDays2()+"日为"+jq2.getJieqi1()+" ");System.out.println(jq2.getYear()+"年"+jq2.getMonth()+"月"+jq2.getDays3()+"日为"+jq2.getJieqi2());}}
}

java 二十四节气源码相关推荐

  1. 侯捷译Practical Java(含源码)

    侯捷译Practical Java(含源码) [url=http://www.123xz.net/soft/49/297/308/2007/20070517105923.html][B]侯捷译Prac ...

  2. 确定有限状态机和非确定有限状态机详解 包含Java实现源码(Nondeterministic finite automata)

    本文将讲解确定有限自动状态机和非确定有限自动状态机的特点和区别.将结合图片例子重点讲解什么是非确定有限自动状态机.最后讲解如何将非确定状态机转换为确定的状态机.多图预警!! 有限自动状态机可以分为确定 ...

  3. java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统--配置中心服务化和高可用...

    在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息.电子商务平台源码请加企鹅求求:一零三八七七四六二六. 这样就存在了一个问题,客户端和服务端的耦合性太高,如果server ...

  4. java B2B2C源码电子商务平台-基于Consul的分布式锁实现

    分布式锁实现 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六 基于Consul的分布式锁主要利用Key/Value存储API中的ac ...

  5. java B2B2C 源码多租户电子商城系统-Spring Cloud组件详解

    我们从整体上来看一下Spring Cloud各个组件如何来配套使用: 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 从上图可以看出 ...

  6. Java集合源码分析(二)ArrayList

    ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线 ...

  7. java B2B2C 源码多租户电子商城系统-Spring Cloud组件详解...

    我们从整体上来看一下Spring Cloud各个组件如何来配套使用:  从上图可以看出Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构. 其中Eureka负责服务的注册与发现, ...

  8. java象棋人机代码_中国象棋人机对弈Java版源码

    [实例简介] 中国象棋人机对弈Java版源码,包含人工智能实现(含多个难度级别,采用α-β迭代搜索算法) [实例截图] [核心代码] 中国象棋人机对弈Java版源码 ├── boards │   ├─ ...

  9. java B2B2C源码电子商务平台 - Zuul回退机制

    1.在一些不稳定因素导致路由后面的微服务宕机或者无响应时,zuul 就会累计大量的请求,久而久之基本上所有的请求都会超时,但是请求链接数却不断的在增加,不断的占用资源池不能结束知道超时消耗殆尽导致zu ...

最新文章

  1. ecplise 设置代码自动提示功能的设置
  2. AI重新定义边缘计算的重要性
  3. C++11并发之std::thread
  4. 【牛客 - 272B】Xor Path(树上操作,路径异或值)
  5. Java历经20年沧桑,将持续革新
  6. js layui跳转页面_【WEB前端开辟】layui的iframe跳转链接与页面按钮跳转相干引见...
  7. java命令运行jar包出现返回值的乱码问题,设置启动编码方式
  8. 深入Jetty源码之HttpGenerator
  9. 全国行政区划代码(json版)
  10. Matlab 两条曲线间填充颜色,改变透明度
  11. 关系数据库范式及1NF、2NF、3NF和BCNF
  12. sqlserver 电话号3-8位用*号代替
  13. VSCODE 全局搜索失效
  14. vps系统和云服务器搭建,vps系统和云服务器搭建
  15. redis学习笔记(十一)AKF、CAP理论
  16. 发起一场GitChat是什么体验?
  17. bzoj 4398 福慧双修——二进制分组
  18. 计算机房地板厚度,机房地板尺寸一般是多少?
  19. SpringBoot集成quartz定时调度任务并通过JDBC持久化
  20. Kotin学习手记——类、接口、扩展方法、空类型

热门文章

  1. 设计模式:访问者模式-vistor
  2. c语言输出王字图形,专一的王子,C语言volatile关键字解析
  3. c语言百分号le,在C语言中,有le-6这么个表示方法,怎么 – 手机爱问
  4. Windows如何安装mysql
  5. 对于阿里云的oss上传本地图片的相关注意点
  6. 计算机相关的文章,关于计算机的论文精选范文
  7. Unity中的物体渲染顺序
  8. 【科创人独家】军哥手记程军:我的2020,先打个60分吧
  9. crypto-js前端解密工具
  10. Python读取tsv文件数据