天干、地支和生肖

***1、***(题目)
我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,就对应于天干中的第几位;将年份减去3后除以12得到余数是几,则对应于地支中的第几位;生肖的计算方法和地支完全一致。例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。由此可知,2006年是“丙戌”年,生肖是“狗”。
根据以上思路,用Java写一个程序。程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int类型的代表年份的数字,然后计算并打印出相关信息。

package com.company;
import java.time.Year;
import java.util.*;             //获取从键盘输入
public class Main {
    private static int Year;      // 设置静态变量用于存储year
    public static void main(String[] args) {
	// write your code here
        int year;
        System.out.println("请输入你要计算的年份");
        Scanner input=new Scanner(System.in);  //获取键盘上输入
        year=input.nextInt();                 //获取键盘上的int内容
        System.out.println("您输入的年份是"+year);
        Main text=new Main();
        text.getInfo(year);  //调用方法
    }

    public void getInfo(int year){
    //  需要将year设置为静态变量
            Year=year;
        Year=(Year-3)%10;  //天干
        year=(year-3)%12; //地支
        String[] god ={"甲","乙","丙","丁","戊","庚","辛","壬","癸" };
        String []land={"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
        String [] Zodiac={"鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"};
        System.out.println("成功调用函数方法");
        System.out.println("对应于天干中的"+Year+"位"+ god[Year-1]);
        System.out.println("对应地支中的"+year+"位:"+land[year-1]+"对应生肖为"+Zodiac[year-1]);
    }
}

本意是将year设置一个静态变量,然后用于二次计算天干地支,但是试了半天,本人才疏学浅,确实不会,有会的友友望分享一波。

代码结果如下:

“C:\Program Files\Java\jdk-17.0.2\bin\java.exe” “-javaagent:D:\Installation\IntelliJ IDEA 2021.3.3\lib\idea_rt.jar=63412:D:\Installation\IntelliJ IDEA 2021.3.3\bin” -Dfile.encoding=UTF-8 -classpath E:\untitled\out\production\untitled com.company.Main
请输入你要计算的年份
2006
您输入的年份是2006
成功调用函数方法
对应于天干中的3位丙
对应地支中的11位:戌对应生肖为狗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值