[java]干支纪年法(循环练习)
2021/11/21 9:10:10
本文主要是介绍[java]干支纪年法(循环练习),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
干支纪年法属于上古以来中国纪年历法,其由十天干十二地支按照一定顺序结合来表示年份.
十天干分别为:
甲、乙、丙、丁、戊、己、庚、辛、壬、癸
十二地支分别为:
子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
干支纪年基本规则:
甲子、乙丑......癸酉对应结束后此时应当对应甲戊,乙亥,丙子.........
以此类推,所以干支纪年法六十年一轮回.
当我们想要用循环输出一个轮回的干支纪年法的时候,基本思路如下:
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]干支纪年法(循环练习)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南