さて、ちょいと気がかりだったので干支の求め方を考えてみた。(今回はJavaで書きました)
-
まず、十二支と十干の配列を用意します。
//十二支名の配列
String theTwelveHorarySignNames[] ={'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'};
//十干名の配列
String theCelestialStemNames[] ={'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'};あと、求める年はint型のyearとしておきます。
-
次に年から十二支の番号と十干の番号を求めます。
十二支は西暦に8を足して12で割った余りが番号となります。十干は西暦に6を足して10で割った余りが番号となります。
//十二支番号
int theTwelveHorarySignNumber =(year+8)%12;
//十干番号
int theCelestialStem = (year+6)%10; -
そしてその番号を元に十二支と十干を求めます。
//十二支名
String theTwelveHorarySignName = theTwelveHorarySignNames[theTwelveHorarySignNumber];
//十干名
String theCelestialStemName = theCelestialStemNames[theCelestialStemNumber] -
干支は十干、十二支の順なので文字列を合わせます。
//干支
String theChineseAstrology = theTwelveHorarySignName+theCelestialStemName;
これで干支が求められた筈です……。
書いてから思ったけれど、何これ……手取り足取り過ぎて気持ち悪い。てか、誰に向けて書いているのか……気持ち悪いにも程がある……orz
0 件のコメント:
コメントを投稿