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

十天干分别为:

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

十二地支分别为:

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

干支纪年基本规则:

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

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

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

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. hessiancpp编译和使用(C++版)
  2. HDU2066(Dijstra算法)
  3. Ubuntu 12.10 安装 jdk-7u10-linux-x64.tar.gz
  4. os.path.join
  5. 数据结构(Data structures)(二):结构体指针
  6. Everest 0.6 添加开机自启动程序
  7. mac11.5.2版本虚拟机SeaBIOS不引导,kvm虚拟机状态为pause
  8. 第二阶段团队冲刺(七)
  9. JAVA软件图片浏览下载_java模拟浏览器下载图片
  10. Spring MVC应用程序中的Thymeleaf模板布局,无扩展
  11. 深入理解支持向量机(SVM)
  12. OOB与COM交互读写本地文件
  13. PX4环境git submodule update --init --recursive失败的解决办法
  14. pandas中计算两列相乘
  15. msyql 1062
  16. 转帖:李开复的“创新工厂”为何失败?原作者QuarterThousand
  17. 宝塔面板干什么用的?
  18. 一文搞懂CSS 3D动画效果
  19. VB如何只读取字符串中的数字部分??
  20. Python 防止反编译

热门文章

  1. GOF23种设计模式精解
  2. 【1030】计算球的体积
  3. 一份来自贾扬清的AI青年修炼指南:不存在算法工程师、调参侠没有市场
  4. 一文搞定bp神经网络,bp神经网络的实现
  5. 二进制转十进制(C++)
  6. 三年级计算机的组成教学设计,三年级计算机教学设计.docx
  7. 第四章 函数的故事(1)超详!!!
  8. suricata中的单模匹配和多模匹配
  9. shit 环信 IM SDK IM SDK web
  10. 单目测距原理与实现(代码可运行)