干支纪年法属于上古以来中国纪年历法,其由十天干十二地支按照一定顺序结合来表示年份.

十天干分别为:

甲、乙、丙、丁、戊、己、庚、辛、壬、癸

十二地支分别为:

子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥

干支纪年基本规则:

甲子、乙丑......癸酉对应结束后此时应当对应甲戊,乙亥,丙子.........

以此类推,所以干支纪年法六十年一轮回.

当我们想要用循环输出一个轮回的干支纪年法的时候,基本思路如下:

1、创建两个数组分存放天干地支

2、使用for循环依次输出对应天干地支

代码如下:

public class practice {public static void main(String[] args) {String sky[] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};String land[] = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};String[] array = new String[60];int j = 0;int freq = 0;int k=0;while(freq < 60){   //打印六十次for(int i = 0;i < 10;i++){     //十天干if(j == 12){          //十二地支,由于数组下标从0开始,所以当地支等于十二时归零j = 0;}System.out.print(" "+sky[i]+land[j]+"年");k++;if(k==12){  //为方便检查,一行打印十二次后回车System.out.println();k=0;}freq++;   //打印次数j++;}}}

结果如下:

特别注意的是当地支到11时就需要归零,否则打印时就会访问越界

下面看下如何输入一个年份判断其是什么年:

判断方法:

天干:用年份减3除10,取余数(余数1,2,3,4,5......9,0,分别对应甲,乙,丙,丁......癸)

地支:用年份减3除12,取余数(余数1,2,3,4,5......11,0,分别对应子,丑,寅,卯......亥)

代码如下:

import java.util.Scanner;public class practice {public static void main(String[] args) {String sky[] = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};String land[] = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};Scanner scanner = new Scanner(System.in);System.out.print("请输入年份:");int input = scanner.nextInt();int i = (input - 3) % 10;   //计算天干int j = (input - 3) % 12;   //计算地支if (i == 0) {i = 10;      //余数为0对应天干最后一个}if (j == 0) {j = 12;      //余数为0对应地支最后一个}System.out.println(input + "是" + sky[i - 1] + land[j - 1] + "年");}
}

结果:

[java]干支纪年法(循环练习)相关推荐

  1. Java实现干支纪年法

    public class 干支纪年法 {// 甲.乙.丙.丁.戊.己.庚.辛.壬.癸//public static final int[] skyBranch = new int[] { 0, 1, ...

  2. 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握

    中国历史上的四种纪年法 一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少 ...

  3. 干支纪年法简便算法_初中历史所涉及的四种纪年法

    一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...

  4. 干支纪年法简便算法_初中阶段常用的四种历史纪年法

    一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...

  5. 7-3 干支纪年法 (100 分)

    中国农历采取天干地支作为计算年,月,日,时的方法,就是把每一个天干和地支按照一定的顺序而不重复地搭配起来,用来作为纪年,纪月,纪日,纪时的代号.把"天干"中的一个字摆在前面,后面配 ...

  6. 干支纪年法简便算法_民间玄学:那些年我理解的何谓“天干”,“地支”,“干支”...

    文/天泽子 在我很小的时候,大概6岁左右,父亲带着我跟这一方面的知识开始接触,那个时候的我不明白天干,地支是什么? 父亲的小学文化程度,只对我说"天干分别为:甲(jiǎ).乙(yǐ).丙(b ...

  7. 干支纪年法简便算法_天干地支的简单算法

    大家在看古代字画的时候一定会发现 己亥 壬寅等干支纪年法,比如"岁在癸丑" 虽然现在的我们很少用干支纪年法了,但在历史考试题以及公务员考试题中难免会有计算天干地支的题目,就算不为了 ...

  8. 万年历-农历-干支纪年法

    干支纪年法的简便算法 传统的计算法,必须知道一个已知年,然后往前后推算,有一定的难度,下面我给大家介绍一种干支纪年法的简便算法,每个字都有对应的一个符号.如下表: 4 5 6 7 8 9 0 1 2 ...

  9. 风火编程--干支纪年法的完整转换(可用于八字推算)

    严谨的干支纪年法转换 干支纪年法的年,月分界点与公历不同, 因此单纯的使用公历日期转换,得到的结果必然有一部分是错误的. 目前通用的解决方案是使用数据库存储几百年的数据,然后通过查库实现. 本程序已经 ...

最新文章

  1. 2022-2028年中国钢筘行业市场研究及前瞻分析报告
  2. js联动清除的一个想法
  3. java lambda表达式详解_Java8新特性Lambda表达式详解
  4. python虽然火为什么工作少_学 Python 的理由千万条,不秃第一条
  5. [No0000101]JavaScript-基础课程1
  6. mysql服务器的字符集
  7. jquery name选择器_【百战程序员从开始到植发】之jquery
  8. 常见十四种的Java算法
  9. Kaggle竞赛实战系列(一):手写数字识别器(Digit Recognizer)得分99.53%、99.91%和100%
  10. java自身的rsa算法效率低下问题
  11. spssχ2检验_医学统计中常用的χ2检验在SPSS软件中的实现途径
  12. 医院体检PEIS系统
  13. [bugbank]看Fuzz与漏洞擦出火花
  14. 英语学习——长难句01
  15. 免费网络硬盘、FTP、大容量邮箱、电子相册合集
  16. python 线程(1)-- 常用方法与属性,锁,同步
  17. 蓝桥杯省赛 砝码称重(B组)
  18. PnetLab模拟器安装锐捷镜像
  19. 谷歌手机pixel4 夜景_如何在Google Pixel手机上拍摄屏幕截图
  20. 安卓APP源码和设计报告——快递查询录入系统

热门文章

  1. 知识回顾:什么是封装?封装的作用?如何封装?
  2. P4546 [THUWC2017]在美妙的数学王国中畅游
  3. html图片重叠轮播,原生JS实现层叠轮播图
  4. 【财富空间】大润发创始人挥泪离场:我战胜了所有对手,却输给了时代!
  5. 安装Anaconda遇到问题--NSIS Error
  6. ccf170902-公共钥匙盒
  7. CTFHUB find_it
  8. Unicode 14 标准发布
  9. 【智慧社区】智能路灯系统,打造技术与应用领先的社区路灯
  10. 虚幻C++学习笔记01--官方案例:FloatingActor