八字易經(jīng)算法之用JAVA實(shí)現(xiàn)完整排盤系統(tǒng) | 您所在的位置:網(wǎng)站首頁(yè) › 八字算命原理程序 › 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)完整排盤系統(tǒng) |
? 去年一天,一個(gè)朋友去看望病人回來(lái)就驚奇的告訴我,他發(fā)現(xiàn)和他朋友一起住院(肝膽科)的病人無(wú)一例外都是屬相為虎的病人,不是大一輪就是小一輪的。這是為什么呢? ? 這不是什么偶然,也不是什么巧合。也許通過(guò)八字能告訴我們這些,也許通過(guò)預(yù)測(cè)能告訴他們應(yīng)該早點(diǎn)檢查肝膽,這樣就能找點(diǎn)發(fā)現(xiàn)疾病。 ? 一直上網(wǎng)發(fā)現(xiàn)有人出軟妹幣求八字易經(jīng)排盤系統(tǒng)方法或者源代碼,更有此類軟件竟要收費(fèi)上百元。 ? 我上網(wǎng)查找半天也沒(méi)有具體八字易經(jīng)排盤系統(tǒng)原理的文章。 ? 排盤如同武學(xué)中的馬步,拳法,是基礎(chǔ)中的基礎(chǔ)。 ? 作為易學(xué)高手的我(大師♂羅莊)對(duì)告訴各位碼農(nóng)如何八字易經(jīng)排盤系統(tǒng)? 負(fù)有不可推卸的責(zé)任。? 經(jīng)過(guò)幾天努力我把整個(gè)八字排盤系統(tǒng)開(kāi)發(fā)以及講述清楚了。 ? 希望大家喜歡 ? 這是最終效果: run: 請(qǐng)輸入你的年月日時(shí)間類似 2013-3-14 20 輸入的是:2013-3-15 15 2013-3-15 15 此人農(nóng)歷的日期【二零一三年二月初四】 此人的農(nóng)歷生肖【蛇】 此人八字【癸巳 乙卯 庚辰 癸未】 年柱:天乙 太極 天羅 劫煞 月柱:天乙 文昌 災(zāi)煞 吊客 日柱:十惡大敗日 國(guó)印 華蓋 天喜 天羅 寡宿 時(shí)柱:空亡 喪門 此人四柱干支十神 傷官 正財(cái) 日主 傷官 此人年藏干 丙 七殺 庚 比肩 戊 偏印 此人月藏干 乙 正財(cái) 此人日藏干 癸 傷官 乙 正財(cái) 戊 偏印 此人時(shí)藏干 乙 正財(cái) 丁 正官 己 正印 此人大運(yùn) 甲寅 癸丑 壬子 辛亥 庚戌 己酉 戊申 丁未 此人起大運(yùn)周歲: 3歲 此人大運(yùn)生旺死絕 絕 墓 死 病 衰 帝旺 臨官 冠帶 此人大運(yùn)十神 偏財(cái) 傷官 食神 劫財(cái) 比肩 正印 偏印 正官 此人大運(yùn)神煞 天乙 月德 驛馬 吊客 披麻 華蓋 披麻 將星 文昌 驛馬 金輿 紅鸞 元辰 將星 羊刃 空亡 咸池 太極 天德 國(guó)印 祿 空亡 空亡 喪門 此人流年 2014甲午 神煞:天乙 月德 空亡 咸池 喪門 2015乙未 神煞:空亡 喪門 2016丙申 神煞:太極 天德 國(guó)印 祿 空亡 2017丁酉 神煞:將星 羊刃 空亡 咸池 2018戊戌 神煞:金輿 紅鸞 元辰 2019己亥 神煞:文昌 驛馬 2020庚子 神煞:將星 2021辛丑 神煞:華蓋 披麻 2022壬寅 神煞:天乙 驛馬 吊客 披麻 2023癸卯 神煞:天乙 文昌 吊客 2024甲辰 神煞:月德 國(guó)印 華蓋 天喜 天羅 2025乙巳 神煞:天乙 太極 天羅 2026丙午 神煞:天乙 空亡 咸池 喪門 2027丁未 神煞:空亡 喪門 2028戊申 神煞:太極 天德 國(guó)印 祿 空亡 2029己酉 神煞:將星 羊刃 空亡 咸池 2030庚戌 神煞:金輿 紅鸞 元辰 2031辛亥 神煞:文昌 驛馬 2032壬子 神煞:將星 2033癸丑 神煞:華蓋 披麻 2034甲寅 神煞:天乙 月德 驛馬 吊客 披麻 2035乙卯 神煞:天乙 文昌 吊客 2036丙辰 神煞:國(guó)印 華蓋 天喜 天羅 2037丁巳 神煞:天乙 太極 天羅 2038戊午 神煞:天乙 空亡 咸池 喪門 2039己未 神煞:空亡 喪門 2040庚申 神煞:太極 天德 國(guó)印 祿 空亡 2041辛酉 神煞:將星 羊刃 空亡 咸池 2042壬戌 神煞:金輿 紅鸞 元辰 2043癸亥 神煞:文昌 驛馬 2044甲子 神煞:月德 將星 2045乙丑 神煞:華蓋 披麻 2046丙寅 神煞:天乙 驛馬 吊客 披麻 2047丁卯 神煞:天乙 文昌 吊客 2048戊辰 神煞:國(guó)印 華蓋 天喜 天羅 2049己巳 神煞:天乙 太極 天羅 2050庚午 神煞:天乙 空亡 咸池 喪門 2051辛未 神煞:空亡 喪門 2052壬申 神煞:太極 天德 國(guó)印 祿 空亡 2053癸酉 神煞:將星 羊刃 空亡 咸池 2054甲戌 神煞:月德 金輿 紅鸞 元辰 2055乙亥 神煞:文昌 驛馬 2056丙子 神煞:將星 2057丁丑 神煞:華蓋 披麻 2058戊寅 神煞:天乙 驛馬 吊客 披麻 2059己卯 神煞:天乙 文昌 吊客 2060庚辰 神煞:國(guó)印 華蓋 天喜 天羅 2061辛巳 神煞:天乙 太極 天羅 2062壬午 神煞:天乙 空亡 咸池 喪門 2063癸未 神煞:空亡 喪門 2064甲申 神煞:太極 天德 月德 國(guó)印 祿 空亡 2065乙酉 神煞:將星 羊刃 空亡 咸池 2066丙戌 神煞:金輿 紅鸞 元辰 2067丁亥 神煞:文昌 驛馬 2068戊子 神煞:將星 2069己丑 神煞:華蓋 披麻 2070庚寅 神煞:天乙 驛馬 吊客 披麻 2071辛卯 神煞:天乙 文昌 吊客 2072壬辰 神煞:國(guó)印 華蓋 天喜 天羅 2073癸巳 神煞:天乙 太極 天羅 2074甲午 神煞:天乙 月德 空亡 咸池 喪門 2075乙未 神煞:空亡 喪門 2076丙申 神煞:太極 天德 國(guó)印 祿 空亡 2077丁酉 神煞:將星 羊刃 空亡 咸池 2078戊戌 神煞:金輿 紅鸞 元辰 2079己亥 神煞:文昌 驛馬 2080庚子 神煞:將星 2081辛丑 神煞:華蓋 披麻 2082壬寅 神煞:天乙 驛馬 吊客 披麻 2083癸卯 神煞:天乙 文昌 吊客 2084甲辰 神煞:月德 國(guó)印 華蓋 天喜 天羅 2085乙巳 神煞:天乙 太極 天羅 2086丙午 神煞:天乙 空亡 咸池 喪門 2087丁未 神煞:空亡 喪門 2088戊申 神煞:太極 天德 國(guó)印 祿 空亡 2089己酉 神煞:將星 羊刃 空亡 咸池 2090庚戌 神煞:金輿 紅鸞 元辰 2091辛亥 神煞:文昌 驛馬 2092壬子 神煞:將星 2093癸丑 神煞:華蓋 披麻 此人婚姻神煞: 此人農(nóng)歷的日期【二零一三年二月初四】 此人八字【癸巳,乙卯,庚辰,癸未】 此人的農(nóng)歷生肖【蛇】 此人犯狼籍 成功構(gòu)建 (總時(shí)間: 15 秒) 實(shí)現(xiàn)功能:排八字四柱,五行,十神,四柱神煞 大運(yùn),大運(yùn)神煞 流年,流年神煞 婚姻神煞
每一個(gè)知識(shí)點(diǎn)都在這幾篇文章講述清楚了,代碼里面該注釋都有了 建議初學(xué)者按順序?qū)W習(xí) 如果對(duì)八字有了解,只是為了看看代碼,那么可以隨意瀏覽 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)排大運(yùn) 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)生旺死絕和十神 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)排八字神煞 Java 計(jì)算節(jié)氣的類 八字易經(jīng)算法之用JAVA實(shí)現(xiàn) 地藏十神排法 合婚算法之用JAVA實(shí)現(xiàn)簡(jiǎn)單級(jí)別的神煞合婚法 八字神煞合婚算法,看看自己中了幾槍
其他輔助文章: JAVA計(jì)算真太陽(yáng)時(shí)和地方時(shí)間 用JAVA實(shí)現(xiàn)串宮壓運(yùn)(串宮大法)排盤 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)最簡(jiǎn)單的稱骨算命法 八字易經(jīng)算法之用JAVA實(shí)現(xiàn)最簡(jiǎn)單的批八字算命 合婚算法之用JAVA實(shí)現(xiàn)本命卦合婚法 合婚算法之用JAVA實(shí)現(xiàn)呂才合婚法
最后要談一個(gè)大問(wèn)題就是怎么起四柱: 很多地方都是按照23:00-1:00為子時(shí)這是不對(duì)的。 子時(shí)24.00-2.00,丑時(shí)2.00-4.00,寅時(shí)4.00-6.00,卯時(shí)6.00-8.00, ?辰時(shí)8.00-10.00,巳時(shí)10.00-12.00,午時(shí)12.00-14.00,未時(shí)14.00-16.00 ?申時(shí)16.00-18.00,酉時(shí)18.00-20.00,戌時(shí)20.00-22.00,亥時(shí)22.00-24.00 你試試看這個(gè)日期 1961年3月15日 你看看其他算法輸出八字和書本萬(wàn)年歷對(duì)么? 為什么月柱不對(duì)呢? 答:很多算法都是根據(jù)陽(yáng)歷轉(zhuǎn)換沒(méi)有考慮節(jié)氣。 一般節(jié)氣過(guò)了就算下個(gè)月 所以上面文章的月柱算不對(duì) 正確代碼用Java 計(jì)算節(jié)氣的類 算法來(lái)排月柱 本系統(tǒng)完整源代碼: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package luozhuangpaipan; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.ParseException; import java.util.Calendar; import luozhuangChineseEra.Lunar; import luozhuanghehun.BaZi; import luozhuanghehun.LuozhuangshenshaHehun; import luozhuanghehun.luozhuanglvhehun; /**完整排盤系統(tǒng) * * @author luozhuang 大師♂羅莊 */ public class LuozhuangPaipanClass { LuozhuangshenshaHehun myLuozhuangshenshaHehun = new LuozhuangshenshaHehun(); luozhuanglvhehun myluozhuanglvhehun = new luozhuanglvhehun(); Luozhuangpaipandayun myLuozhuangpaipandayun = new Luozhuangpaipandayun(); LuozhuangshengSha myLuozhuangshengSha = new LuozhuangshengSha(); luozhuangpaipanshisheng myluozhuangpaipanshisheng = new luozhuangpaipanshisheng(); Luozhuangdizhang myLuozhuangdizhang = new Luozhuangdizhang(); /** * * @param man 生日 yyyy-MM-dd HH * @return * @throws ParseException */ public String paipan(String man, luozhuanglvhehun.sex isman) throws ParseException { Calendar mancal; try { mancal = myLuozhuangshenshaHehun.getCalendarfromString(man, "yyyy-MM-dd HH"); //原來(lái)的private 方法改了下 } catch (ParseException ex) { return "輸入不正確" + ex.getMessage(); } return paipan(mancal, isman); } public String paipan(Calendar cal, luozhuanglvhehun.sex isman) throws ParseException { BaZi lunar = new BaZi(cal); Lunar lunaryue = new Lunar(cal.getTime()); System.out.println("此人農(nóng)歷的日期【" + lunar.toString() + "】"); /** * 很多地方都是按照23:00-1:00為子時(shí)這是不對(duì)的。 * 子時(shí)24.00-2.00,丑時(shí)2.00-4.00,寅時(shí)4.00-6.00,卯時(shí)6.00-8.00, * 辰時(shí)8.00-10.00,巳時(shí)10.00-12.00,午時(shí)12.00-14.00,未時(shí)14.00-16.00 * 申時(shí)16.00-18.00,酉時(shí)18.00-20.00,戌時(shí)20.00-22.00,亥時(shí)22.00-24.00 * */ int time = cal.get(Calendar.HOUR_OF_DAY) / 2; //獲取生肖 System.out.println("此人的農(nóng)歷生肖【" + lunar.animalsYear() + "】"); String GanZhi = lunar.getYearGanZhi(time);//取八字 String[] tempchar = GanZhi.split(","); //我修改原來(lái)的,用,分割 String ganziyear = lunaryue.getCyclicaYear();//年柱 String ganzimonth = lunaryue.getCyclicaMonth();//月柱 String ganziday = lunaryue.getCyclicaDay();//日柱 String ganzitime = tempchar[3];//時(shí)柱 System.out.println("此人八字【" + ganziyear + " " + ganzimonth + " " + ganziday + " " + ganzitime + "】"); String[] arrayOfString = new String[9]; arrayOfString[0] = ""; arrayOfString[1] = ganziyear.substring(0, 1);//年干 arrayOfString[2] = ganziyear.substring(1, 2);//年支 arrayOfString[3] = ganzimonth.substring(0, 1);//月干 arrayOfString[4] = ganzimonth.substring(1, 2);//月支 arrayOfString[5] = ganziday.substring(0, 1);//日干 arrayOfString[6] = ganziday.substring(1, 2);//日支 arrayOfString[7] = ganzitime.substring(0, 1);//時(shí)干 arrayOfString[8] = ganzitime.substring(1, 2);//時(shí)支 System.out.println(myLuozhuangshengSha.shengsha(arrayOfString, isman)); //排食神生旺死絕 //用日干 日支分別查找位于表的對(duì)應(yīng)值 //修改原文的類方法字段屬性為public //我的表格均是按照順序比如 //十天干生旺死絕表 十神概念按順序排列 //查找某一行就可以查到對(duì)應(yīng)值 String[] shengsibiao = {"甲", "丙", "戊", "庚", "壬", "乙", "丁", "己", "辛", "癸"};//十天干生旺死絕表順序 //十天干生旺死絕表 用日干查表 int shengsibiaoshunxu = myLuozhuangpaipandayun.getyuezhuStart(shengsibiao, ganziday.substring(0, 1)); //十神表按順序 int shishengbiaoshunxu = myLuozhuangpaipandayun.getyuezhuStart(BaZi.Gan, ganziday.substring(0, 1)); shengsibiaoshunxu++; shishengbiaoshunxu++; String[] DayunArray = myLuozhuangpaipandayun.Dayun(ganziyear, ganzimonth, isman); //排此人四柱十神生旺死絕 // 比 印 日元 劫 |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |