<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          算八字和陰陽(yáng)五行(J*a基礎(chǔ)) 您所在的位置:網(wǎng)站首頁(yè) 生辰八字起名算法 算八字和陰陽(yáng)五行(J*a基礎(chǔ))

          算八字和陰陽(yáng)五行(J*a基礎(chǔ))

          2025-01-04 17:14| 來(lái)源: 網(wǎng)絡(luò)整理| 查看: 265

          目錄

          一、引言

          二、問(wèn)題描述

          三、問(wèn)題分析

          四、算法分析

          1.年柱

          2.月柱

          3.日柱

          4.時(shí)柱

          五、完整代碼展示

          六、結(jié)果驗(yàn)證

          七、結(jié)語(yǔ)

          一、引言

          ? ? ? ? 每年回家過(guò)年,親戚們都會(huì)問(wèn)我“小韓學(xué)的什么專(zhuān)業(yè)呀,給七大姑八大姨展示一下呀”等等一系列類(lèi)似的問(wèn)題。今年在機(jī)緣巧合之下,我接觸到了算卦,并且通過(guò)某音某站學(xué)習(xí)到了一下關(guān)于算卦的一些基礎(chǔ)算法,比如說(shuō)算八字,算五行等等,然后我就有了一個(gè)神奇的想法,要是將算卦和J*a結(jié)合起來(lái)會(huì)是什么樣的呢,今天呢,我就給大家講解一下如何用J*a算八字和五行。

          ? ? ? ? 話說(shuō)回來(lái),那什么是八字什么是五行呢?

          ????????八字?即生辰八字,是一個(gè)人出生時(shí)的干支歷日期。八字在漢族民俗信仰中占有重要地位?,年干和年支組成年柱,月干和月支組成月柱,日干和日支組成日柱,時(shí)干和時(shí)支組成時(shí)柱;一共四柱,四個(gè)干和四個(gè)支共八個(gè)字,故又稱(chēng)四柱八字。四柱加大運(yùn)加流年的預(yù)測(cè)模式稱(chēng)之為子平術(shù);四柱太陽(yáng)律月亮律屬于四柱完整的預(yù)測(cè)技術(shù)與方法。

          ????????五行,也叫五行學(xué)說(shuō),是認(rèn)識(shí)世界的基本方式,?五行的意義包含借著陰陽(yáng)演變過(guò)程的五種基本動(dòng)態(tài):金(代表斂聚)、木(代表曲直)、水(代表浸潤(rùn))、火(代表炎熱)、土(代表生化)。中國(guó)哲學(xué)家用五行理論來(lái)說(shuō)明世界萬(wàn)物的形成及其相互關(guān)系。

          二、問(wèn)題描述 如何算八字如何算五行 三、問(wèn)題分析

          ? ? ?1.如何算八字

          ? ? ? ? 要想算八字,你得先知道你公歷和農(nóng)歷的出生年月日時(shí),然后算出年柱、月柱、日柱和時(shí)柱;

          ? ? ? ? 年柱、月柱、日柱、時(shí)柱怎么算,請(qǐng)聽(tīng)算法分析;

          ? ? ?2.如何算五行

          ? ? ? ? 算出來(lái)八字之后,算五行就顯的很就簡(jiǎn)單了。算五行就是通過(guò)算出來(lái)的八字,將金、木、水、火、土 一 一對(duì)應(yīng)上去就可以了。

          五行:

          天干地支現(xiàn)在被簡(jiǎn)稱(chēng)為“干支”,共分為十天干,十二地支。

          天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸,共十個(gè)。

          五行對(duì)應(yīng):甲木、乙木、丙火、丁火、戊土、己土、庚金、辛金、壬水、癸水。

          地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥,共12個(gè)。

          五行對(duì)應(yīng):子水、丑土、寅木、卯木、辰土、巳火、午火、未土、申金、酉金、戌土、亥水。

          五行:水、火、金、木、土,為五行。

          陰陽(yáng): 甲、丙、戊、庚、壬屬陽(yáng); 乙、丁、己、辛、癸屬陰。 子、寅、辰、午、申、戍屬陽(yáng); 丑、卯、巳、未、酉、亥屬陰。

          四、算法分析

          ? ? ? ? 對(duì)于這個(gè)算法,我認(rèn)為最核心的部分就是算年柱、月柱、日柱和時(shí)柱的算法;

          ? ? ? ? 算八字首先得知道十天干和十二地支

          十天干甲乙丙丁戊己庚辛壬癸 十二地支子丑寅卯辰巳午未申酉戌亥

          ? ? ? ? ?在J*a代碼中,我將十天干和十二地支分別存儲(chǔ)在了倆個(gè)不同的數(shù)組中;

          //將“十天干”存儲(chǔ)在dry數(shù)組中 String[] dry = new String[]{"癸","甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬"}; //將“十二地支”存儲(chǔ)在branch數(shù)組中 String[] branch = new String[]{"亥","子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌"}; 1.年柱

          算得的結(jié)果對(duì)應(yīng)數(shù)組的索引

          //求年柱 //year_dry為年干,year_branch 為年支 int year_dry = (year - 3) % 10; int year_branch = (year - 3) % 12; 2.月柱

          算月柱的天干這里有個(gè)口訣:

          甲己之年丙作首,乙庚之年戊為頭 丙辛之歲尋庚土,丁壬壬寅順?biāo)?若問(wèn)戊葵何處起,甲寅之上好追求

          //month_dry為月干,month_branch為月支; int month_dry,month_branch; if (year_dry==1||year_dry==6){ month_dry=2+month; }else if (year_dry==2||year_dry==7){ month_dry=4+month; }else if (year_dry==3||year_dry==8){ month_dry=6+month; }else if (year_dry==4||year_dry==9){ month_dry=8+month; }else{ month_dry=0+month; } month_branch=2+month; while (month_dry>9){ month_dry=month_dry-10; } while (month_branch>11){ month_branch=month_branch-12; } 3.日柱

          ????????日柱的時(shí)間界限為每天的兩個(gè)23時(shí),例如,某某年4月9日出生,那么日柱的開(kāi)始時(shí)間為4月8日23時(shí)開(kāi)始,9日的23時(shí)結(jié)束。

          1.以甲子為1、1

          天干數(shù):癸(0) 甲1 乙2 丙3 丁4 戊5 己6 庚7 辛8 壬9

          地支數(shù):亥(0) 子1 丑2 寅3 卯4 辰5 巳6 午7 未8 申9 酉10 戌11

          2.計(jì)算公式

          { (公元年數(shù)-1)×5+(公元年數(shù)-1)÷4+當(dāng)年日數(shù)} ÷60

          將所得余數(shù)÷10,得出的余數(shù)作為天干序數(shù)

          將所得余數(shù)÷12,得出的余數(shù)作為地支序數(shù)

          ????????注意:算當(dāng)年日數(shù)使用的是公歷的年月日,需要考慮當(dāng)年是否閏年,如果是閏年則二月份為29天。凡年份能被4整除的為閏年,不能被4整除的為平年。

          舉例:

          例如:2008年3月1日的干支:

          { (2008-1)×5+(2008-1)÷4+61 }÷60

          (1月31天,2月29天,3月1天共計(jì)61天)

          =(10035+501(取整)+61)÷60

          =176……37

          求天干:37÷10=3……7(庚)

          求地支:37÷12=3……1(子)

          所以,2008年3月1日的干支為庚子

          int day_post,day_dry,day_branch,day_numb = 0,days; for (int i=1;i10){ //計(jì)算日干 day_dry=day_post%10; //計(jì)算日支 day_branch=day_post%12; }else { day_dry=day_post; day_branch=day_post; } 4.時(shí)柱

          日上起時(shí)口訣

          甲已還加甲,乙庚丙作初 丙辛生戊子,丁壬庚子居 戊葵何方發(fā),壬子不須移

          ????????按照此口訣,將"日上起時(shí)"的查閱方法與鐘點(diǎn)所在的時(shí)辰合起來(lái)就組成了時(shí)干。其查閱辦法是:每逢甲日己日為日干出生的人,如果出生在23點(diǎn)后和凌晨1點(diǎn)前即為子時(shí)所生,時(shí)干支為甲子時(shí)。另有口訣和掌訣圖可幫助增進(jìn)記憶:甲己還加甲,乙庚丙作首,丙辛從戊起,相壬庚子居,戊癸何方發(fā),壬子是真途。 如*知己丑日推卯時(shí)的干支,根據(jù)"甲己還加甲",可知己日從"甲日己日"上的"子時(shí)"起甲子。推的時(shí)候?qū)⒆笫执竽粗更c(diǎn)在子位上,讀"甲子",順點(diǎn)至丑位,讀"乙丑",至寅位讀"丙寅",至丁位讀"丁卯"。丁卯即是已丑日的時(shí)干支。 手掌上推時(shí)干支的口訣在記憶時(shí)可按:甲乙丙丁戊己庚辛壬癸的時(shí)干順序記用。其時(shí)辰子時(shí)的順序?yàn)?甲子"、"丙子"、"庚子"、"戊子"、"壬子",即天干中的陽(yáng)干為序的,其余時(shí)辰可以子時(shí)為準(zhǔn)順推而知。

          子時(shí):23點(diǎn)到01點(diǎn)?丑時(shí):01點(diǎn)到03點(diǎn)

          寅時(shí):03點(diǎn)到05點(diǎn) 卯時(shí):05點(diǎn)到07點(diǎn)

          辰時(shí):07點(diǎn)到09點(diǎn)?巳時(shí):09點(diǎn)到11點(diǎn)

          午時(shí):11點(diǎn)到13點(diǎn) 未時(shí):13點(diǎn)到15點(diǎn)

          申時(shí):15點(diǎn)到17點(diǎn) 酉時(shí):17點(diǎn)到19點(diǎn)

          戌時(shí):19點(diǎn)到21點(diǎn) 亥時(shí):21點(diǎn)到23點(diǎn)

          //求時(shí)柱 /*甲已還加甲,乙庚丙作初 * 丙辛生戊子,丁壬庚子居 * 戊葵何方發(fā),壬子不須移*/ int hour_dry,hour_branch,hour_numb=0; if (hour>=23||hour=1&&hour=3&&hour=5&&hour=7&&hour=9&&hour=11&&hour=13&&hour=15&&hour=17&&hour=19&&hour=21&&hour9){ hour_dry-=10; } while (hour_branch>11){ hour_branch-=12; } 五、完整代碼展示 import j*a.util.Scanner; public class Main { public static void main(String[] args) { /*八字計(jì)算系統(tǒng) * 四注:年柱、月柱、日柱、時(shí)柱 * 需要知道出生的年月日時(shí),農(nóng)歷日期和陽(yáng)歷日期都要有*/ //將“十天干”存儲(chǔ)在dry數(shù)組中 String[] dry = new String[]{"癸","甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬"}; //將“十天干五行”存儲(chǔ)在drywx數(shù)組中 String[] drywx = new String[]{"水","木","木","火","火","土","土","金","金","水"}; //將“十天干五行陰陽(yáng)”存儲(chǔ)在drywx_yy數(shù)組中 String[] drywx_yy = new String[]{"陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)"}; //將“十二地支”存儲(chǔ)在branch數(shù)組中 String[] branch = new String[]{"亥","子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌"}; //將“十二地支五行”存儲(chǔ)在branchwx數(shù)組中 String[] branchwx = new String[]{"水","水","土","木","木","土","火","火","土","金","金","土"}; //將“十二地支五行陰陽(yáng)”存儲(chǔ)在branchwx_yy數(shù)組中 String[] branchwx_yy = new String[]{"陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)","陰","陽(yáng)"}; //控制輸入語(yǔ)句 Scanner sc = new Scanner(System.in); int year,month,day,hour,nyear,nmonth,nday,nhour,gender,yesorno=0; do { System.out.println("請(qǐng)輸入您的農(nóng)歷出生年、月、日、時(shí)(用空格分開(kāi)):"); //將輸入的數(shù)賦值在year里 year = sc.nextInt(); //將輸入的數(shù)賦值在month里 month = sc.nextInt(); //將輸入的數(shù)賦值在day里 day = sc.nextInt(); //將輸入的數(shù)賦值在hour里 hour = sc.nextInt(); System.out.println("請(qǐng)輸入您的公歷出生年、月、日(用空格分開(kāi)):"); //將輸入的數(shù)賦值在nyear里 nyear = sc.nextInt(); //將輸入的數(shù)賦值在nmonth里 nmonth = sc.nextInt(); //將輸入的數(shù)賦值在nday里 nday = sc.nextInt(); System.out.println("請(qǐng)輸入您性別:(1、男 2、女)"); gender = sc.nextInt(); if (year >= 2024 || year = 13 || month = 32 || day = 25 || hour < 0 ||gender!=1||gender!=2){ System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入!!!"); yesorno=1; } if (nyear >= 2024 || nyear = 13 || nmonth = 32 || nday 9){ month_dry=month_dry-10; } while (month_branch>11){ month_branch=month_branch-12; } //日柱 int day_post,day_dry,day_branch,day_numb = 0,days; for (int i=1;i10){ //計(jì)算日干 day_dry=day_post%10; //計(jì)算日支 day_branch=day_post%12; }else { day_dry=day_post; day_branch=day_post; } //求時(shí)柱 /*甲已還加甲,乙庚丙作初 * 丙辛生戊子,丁壬庚子居 * 戊葵何方發(fā),壬子不須移*/ int hour_dry,hour_branch,hour_numb=0; if (hour>=23||hour=1&&hour=3&&hour=5&&hour=7&&hour=9&&hour=11&&hour=13&&hour=15&&hour=17&&hour=19&&hour=21&&hour9){ hour_dry-=10; } while (hour_branch>11){ hour_branch-=12; } System.out.println(" 八字表 "); System.out.println("---------------------------------------------------"); System.out.println("| 年柱 | 月柱 | 日柱 | 時(shí)柱 |"); System.out.println("---------------------------------------------------"); System.out.println("| 年干 | 年支 | 月干 | 月支 | 日干 | 日支 | 時(shí)干 | 時(shí)支 |"); System.out.println("---------------------------------------------------"); System.out.println("| "+dry[year_dry]+" | "+branch[year_branch]+" | "+dry[month_dry]+" | "+branch[month_branch]+" | "+dry[day_dry]+" | "+branch[day_branch]+" | "+dry[hour_dry]+" | "+branch[hour_branch]+" |"); System.out.println("---------------------------------------------------"); System.out.println("| "+dry[year_dry]+""+branch[year_branch]+" | "+dry[month_dry]+""+branch[month_branch]+" | "+dry[day_dry]+""+branch[day_branch]+" | "+dry[hour_dry]+""+branch[hour_branch]+" |"); System.out.println("---------------------------------------------------"); System.out.println(""); System.out.println(" 五行表 "); System.out.println("----------------------------------------------------------------"); System.out.println("| 四柱 | 年柱 | 月柱 | 日柱 | 時(shí)柱 |"); System.out.println("----------------------------------------------------------------"); System.out.println("| 八字 | "+dry[year_dry]+""+branch[year_branch]+" | "+dry[month_dry]+""+branch[month_branch]+" | "+dry[day_dry]+""+branch[day_branch]+" | "+dry[hour_dry]+""+branch[hour_branch]+" |"); System.out.println("----------------------------------------------------------------"); System.out.println("| 天干 | "+drywx[year_dry]+" | "+drywx[month_dry]+" | "+drywx[day_dry]+" | "+drywx[hour_dry]+" |"); System.out.println("----------------------------------------------------------------"); System.out.println("| 地支 | "+branchwx[year_branch]+" | "+branchwx[month_branch]+" | "+branchwx[day_branch]+" | "+branchwx[hour_branch]+" |"); System.out.println("----------------------------------------------------------------"); System.out.println("您為:"+drywx_yy[day_dry]+drywx[day_dry]+"命"); } } 六、結(jié)果驗(yàn)證

          我們以農(nóng)歷的1997年8月13日9時(shí)為例子,計(jì)算其八字和五行;

          預(yù)取結(jié)果:

          ?

          實(shí)際結(jié)果:

          ?

          結(jié)果完全正確!?

          七、結(jié)語(yǔ) 要想徹底看懂此程序的算法運(yùn)行,需要先去熟悉一下八字算法和五行。對(duì)于八字算命,我們應(yīng)該持有一種科學(xué)、客觀、理性的態(tài)度,既不過(guò)于迷信,也不一概否定。在做出決策時(shí),我們可以將其作為一種參考,但同時(shí)也要結(jié)合其他因素進(jìn)行綜合考慮,以做出更明智的決策。感謝大家閱讀我的博客,對(duì)于J*a的學(xué)習(xí)有什么好的建議和問(wèn)題可以留在評(píng)論區(qū)大家一起討論。


          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專(zhuān)題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 乐陵市| 靖边县| 阿克陶县| 囊谦县| 金乡县| 太和县| 山丹县| 泰宁县| 常熟市| 城步| 南溪县| 文登市| 彭泽县| 松原市| 乌鲁木齐县| 通江县| 诏安县| 长阳| 马鞍山市| 凯里市| 思茅市| 兰州市| 中卫市| 定边县| 南康市| 镇原县| 南木林县| 岳池县| 奈曼旗| 芒康县| 英山县| 九台市| 遂溪县| 固安县| 文山县| 公主岭市| 中西区| 密山市| 贺州市| 读书| 江阴市| http://444 http://444 http://444 http://444 http://444 http://444