精华内容
下载资源
问答
  • 五行属性查询

    千次阅读 2011-08-24 18:02:06
    纳音五行 五行发生演化,有了更细致的分类,出现纳音五行: 纳音五行表=甲子乙丑海中金;丙寅丁卯炉中火;戊辰己巳大林木;庚午辛未路旁土;壬申癸酉剑锋金;甲戌乙亥山头火;丙子丁丑涧下水;戊寅己卯城头土;...
     
    

    甲子年生海中金命(1924,1984)乙丑年生海中金命(1925,1985)

    丙寅年生炉中火命(1926,1986)丁卯年生炉中火命(1927,1987)

    戊辰年生大林木命(1928,1988)己巳年生大林木命(1929,1989)

    庚午年生路旁土命(1930,1990)辛未年生路旁土命(1931,1991)

    壬申年生剑锋金命(1932,1992)癸酉年生剑锋金命(1933,1993)

    甲戌年生山头火命(1934,1994)乙亥年生山头火命(1935,1995)

    丙子年生涧下水命(1936,1996)丁丑年生涧下水命(1937,1997)

    戊寅年生城头土命(1938,1998)己卯年生城头土命(1939,1999)

    庚辰年生白蜡金命(1940,2000)辛巳年生白蜡金命(1941,2001)

    壬午年生杨柳木命(1942,2002)癸未年生杨柳木命(1943,2003)

    甲申年生泉中水命(1944,2004)乙酉年生泉中水命(1945,2005)

    丙戌年生屋上土命(1946,2006)丁亥年生屋上土命(1947,2007)

    戊子年生霹雳火命(1948,2008)己丑年生霹雳火命(1949,2009)

    庚寅年生松柏木命(1950,2010)辛卯年生松柏木命(1951,2011)

    壬辰年生长流水命(1952,2012)癸巳年生长流水命(1953,2013)

    甲午年生砂石金命(1954,2014)乙未年生砂石金命(1955,2015)

    丙申年生山下火命(1956,2016)丁酉年生山下火命(1957,2017)

    戊戌年生平地木命(1958,2018)己亥年生平地木命(1959,2019)

    庚子年生壁上土命(1960,2020)辛丑年生壁上土命(1961,2021)

    壬寅年生金薄金命(1962,2022)癸卯年生金薄金命(1963,2023)

    甲辰年生覆灯火命(1964,2024)乙巳年生覆灯火命(1965,2025)

    丙午年生天河水命(1966,2026)丁未年生天河水命(1967,2027)

    戊申年生大驿土命(1968,2028)己酉年生大驿土命(1969,2029)

    庚戌年生钗环金命(1970,2030)辛亥年生钗环金命(1971,2031)

    壬子年生桑柘木命(1972,2032)癸丑年生桑柘木命(1973,2033)

    甲寅年生大溪水命(1974,2034)已卯年生大溪水命(1975,2035)

    丙辰年生沙中土命(1976,2036)丁巳年生沙中土命(1977,2037)

    戊午年生天上火命(1978,2038)己未年生天上火命(1979,2039)

    庚申年生石榴木命(1980,2040)辛酉年生石榴木命(1981,2041)

    壬戌年生大海水命(1982,2042)癸亥年生大海水命(1983,2043)

    金代表力量、木代表体质、水代表敏捷、火代表魔力、土代表耐力

    辩证生克

    五行相生的次序是:金生水,水生木,木生火,火生土,土生金。

    五行相克的次序是:金克木,木克土,土克水,水克火,火克金。

    五行相生:

    金生水,水生木,木生火,火生土,土生金。金生水:金销熔生水;水生木:水润泽生木;木生火:木干暖生火;火生土:火焚木生土;土生金:土矿藏生金。

    五行相生含义:

    金生水——因为少阴之气(金气)温润流泽,金靠水生,销锻金也可变为水,所以金生水。

    水生木——因为水温润而使树木生长出来,所以水生木。

    木生火——是因为木性温暖,火隐伏其中,钻木而生火,所以木生火。

    火生土——是因为火灼热,所以能够焚烧木,木被焚烧后就变成灰烬,灰即土,所以火生土。 土生金——因为金需要隐藏在石里,依附着山,津润而生,聚土成山,有山必生石,所以土生金。

    五行相克:

    金克木,木克土,土克水,水克火,火克金。

    五行相克含义:是因天地之性 众胜寡,故水胜火;精胜坚,故火胜金;刚胜柔,故金胜木;专胜散,故木胜土;实胜虚,故土胜水。

    刚胜柔,故金胜木;因为刀具可砍伐树木;

    专胜散,故木胜土;因为树木可稳住崩土;

    实胜虚,故土胜水;因为堤坝可阻止水流;

    众胜寡,故水胜火;因为大水可熄灭火焰;

    精胜坚,故火胜金;因为烈火可溶解金属。

    金赖土生,土多金埋;土赖火生,火多土焦;火赖木生,木多火炽;木赖水生,水多木漂;水赖金生,金嗨 恰?

    金能生水,水多金沉;水能生木,木多水缩;木能生火,火多木焚;火能生土,土多火晦;土能生金,金多土弱。

    金能克木,木坚金缺;木能克土,土重木折;土能克水,水多土流;水能克火,火炎水灼;火能克金,金多火熄。

    金衰遇火,必见销熔;火弱逢水,必为熄灭;水弱逢土,必为淤塞;土衰逢木,必遭倾陷;木弱逢金,必为斫折。

    强金得水,方挫其锋;强水得木,方缓其势;强木得火,方泄其英;强火得土,方敛其焰;强土得金,方化其顽。

    纳音五行 五行发生演化,有了更细致的分类,出现纳音五行:

    纳音五行表=甲子乙丑海中金;丙寅丁卯炉中火;戊辰己巳大林木;庚午辛未路旁土;壬申癸酉剑锋金;甲戌乙亥山头火;丙子丁丑涧下水;戊寅己卯城头土;辰辛巳白腊金;壬午癸未杨柳木;甲申乙酉井泉水;丙戌丁亥屋上土;戊子己丑霹雳火;庚寅辛卯松柏木;壬辰癸巳长流水;甲午乙未砂石金;丙申丁酉山下火;戊戌己亥平地木;庚子辛丑璧上土;壬寅癸卯金簿金;甲辰乙巳覆灯火;丙午丁未天河水;戊申己酉大驿土;庚戌辛亥钗钏金;壬子癸丑桑柘木;甲寅乙卯大溪水;丙辰丁巳沙中土;戊午己未天上火;庚申辛酉石榴木;壬戌癸亥大海水。

    纳音=“六十甲子纳音,本六十律”(万明英《三命通会》);“纳音者,宫商角徵羽五音,与气化     

    相感应也”(徐乐吾《子平粹言》)。

    第一个甲子年=目前中国历史有确切纪年的是公元前841年,当年是庚申年。公元前837年是甲子年。当然干支纪年的起始更早,甲骨文中已有使用,但没有确切的起始记载。 五行,是古代人民认识世界的一种朴素而简单的方式,具有高度的概括性,基于"天人感应"方面的原理,使得五行成为周易类各派技术的理论基础.

    五行和人体的对应关系

    五行就是木、火、土、金、水,代表五种属性,是抽象概念,不要理解具体的某种东西。五是个普遍的数字,五指、五官、五脏、五味。。。有很多事物可以分为五类。

    在中医里,用五行描述人体五脏系统(肝心脾肺肾)的功能和关系,注意这里的五脏也是个功能概念(称为藏象),并不限于具体的解剖上的五脏。

    木-生长、生法、柔和、条达舒畅

    火-温热、升腾、明亮

    土-生化、承载、受纳

    金-清洁、清肃、收敛

    水-寒凉、滋润、向下运行

    五行 五脏 六腑 季节 情绪五官五味 形体 小肠 长夏 大肠 皮毛 膀胱

    同一行的事物相互感应,但过度则害。比如怒则伤肝。范进中举是过喜伤心的典型例子。再比如适当的甘味是补脾的,但味过于甘,又能呆胃滞脾。

    五行的生克关系

    实线表示相生;虚线表示相克

    相生是指这一事物对另一事物有促进、助长和资生的作用(为叙述方便,生者称为母,被生者称为子)。相克是指这一事物对另一事物的生长和功能具有抑制和制约的作用。相生和相克是自然界普遍存在的正常现象。无生则发育无由,无制则亢而为害。两者都很重要,不要觉得相生就好,相克就不好。巨人症就是生长缺少克制的病例。

    相生相克,是不可分割的两个方面。没有生就没有事物的发生和成长;没有克,就不能保持事物发展变化的平衡与协调。

    五脏之间的关系

    (1)五脏之间的相生:肝生心就是木生火,如肝藏血以济心;心生脾就是火生土,如心之阳气可以问脾;脾生肺就是土生金,如脾运化水谷之精气可以益肺;肺生肾就是金生水,如肺气清肃则津气下行以资肾;肾生肝就是水生木,如肾藏精以滋养肝的阴血等等。

    (2)五脏之间的相克:肺(金)的清肃下降,可抑制肝(木)阳的上亢,即金克木;肝(木)的条达,可以疏泻脾(土)的壅滞,即木克土;脾(土)的运化,可以防止肾(水)水的泛滥,即土克水;肾(水)阴的上济,可以制约心(火)阳亢烈,即水克火;心(火)的阳热,可以制约肺(金)的清肃太过,即火克金。

    但必须指出,五行学说来说明脏腑之间的平衡关系,存在一定的局限性。这是因为五脏对应五行只是抽取了五脏的部分特性,五行并不能解释世界上的一切现象,只是部分关系。

    五脏病变的相互影响

    (1)母病及子:母脏先病,然后累及子脏。

    (2)子病及母:子脏先病,然后累及母脏。这种情况下一般病情较重。

    (3)相乘:即相克太过。可能是克者太旺,或者被克者太虚造成。这种情况下病情容易严重。

    (4)相侮:即克制不足,反被其克。可能是被克者太旺,或者克者太虚造成。

    五脏和季节的关系

    木对应春季,火对应夏季,土对应长夏,金对应秋季,水对应冬季。在各个季节里,对应的脏负担较重,而所相生的脏得到补益。比如春季易流行肝病,因为春季木生火,肝的负担重。同时由于木生火(心),所以心情容易舒畅。

    五脏强弱和性格的关系

    在性格方面,五行生克若不平衡,火多无制,急躁而欠涵养。水多无制,聪颖而意志不坚,亦且好动。木多无制,情重而仁厚。金多无制,精干而敏锐。土多无制,慈厚而好静。当然即使这样,通过后天的自我控制仍然可以达到性格平衡。

    1924年甲子属金(鼠)1925年乙丑属金(牛)1926年丙寅属火(虎)
    1927
    年丁卯属火(兔)1928年戊辰属木(龙)1929年已巳属木(蛇)
    1930
    年庚午属土(马)1931年辛未属土(羊)1932年壬申属金(猴)
    1933
    年癸酉属金(鸡)1934年甲戌属火(狗)1935年乙亥属火(猪)
    1936
    年丙子属水(鼠)1937年丁丑属水(牛)1938年戌寅属土(虎)
    1939
    年已卯属土(兔)1940年庚辰属金(龙)1941年辛已属金(蛇)
    1942
    年壬午属木(马)1943年癸未属木(羊)1944年甲申属水(猴)
    1945
    年乙酉属水(鸡)1946年丙戌属土(狗)1947年丁亥属土(猪)
    1948
    年戊子属火(鼠)1949年已丑属火(牛)1950年庚寅属木(虎)
    1951
    年辛卯属木(兔)1952年壬辰属水(龙)1953年癸已属水(蛇)
    1954
    年甲午属金(马)1955年乙未属金(羊)1956年丙申属火(猴)
    1957
    年丁酉属火(鸡)1958年戊戌属木(狗)1959年已亥属木(猪)
    1960
    年庚子属土(鼠)1961年辛丑属土(牛)1962年壬寅属金(虎)
    1963
    年癸卯属金(兔)1964年甲辰属火(龙)1965年乙巳属火(蛇)
    1966
    年丙午属水(马)1967年丁未属水(羊)1968年戊申属土(猴)
    1969
    年己酉属土(鸡)1970年庚戌属金(狗)1971年辛亥属金(猪)
    1972
    年壬子属木(鼠)1973年癸丑属木(牛)1974年甲寅属水(虎)
    1975
    年乙卯属水(兔)1976年丙辰属土(龙)1977年丁巳属土(蛇)
    1978
    年戊午属火(马)1979年己未属火(羊)1980年庚申属木(猴)
    1981
    年辛酉属木(鸡)1982年壬戌属水(狗)1983年癸亥属水(猪)
    1984
    年甲子属金(鼠)1985年乙丑属金(牛)1986年丙寅属火(虎)
    1987
    年丁卯属火(兔)1988年戊辰属木(龙)1989年己已属木(蛇)
    1990
    年庚午属土(马)1991年辛未属土(羊)1992年壬申属金(猴)
    1993
    年癸酉属金(鸡)1994年甲戌属火(狗)1995年乙亥属火(猪)
    1996
    年丙子属水(鼠)1997年丁丑属水(牛)


    男女五行配婚歌诀:

    男金女金--两金夫妻硬对硬、有女无男守空房、日夜争打语不合、各人各心各白眼
    男金女木--金木夫妻不多年、整天吵打哭连连、原来二命都有害、半世婚姻守寡缘
    男金女水--水金夫妻坐高堂、钱财积聚喜洋洋、子女两个生端正、个个聪明学文章
    男金女火--未有姻缘乱成亲、娶得妻来也是贫、若无子女家财散、金火原来害本命
    男金女土--金土夫妻好姻缘、吃穿不愁福自然、子孙兴旺家富贵、福禄双全万万年
    男木女金--夫妻和好宜相交、钱财六畜满山庄、抚养子女姓名扬、木金万贵共一床
    男木女木--双木夫妻难相合、钱财有多亦克子、原来两木多克害、灾难疯病多加流
    男木女水--男木女水大吉利、家中财运常进室、常为宝贵重如山、生来儿女披青衫
    男木女火--木火夫妻大吉昌、此门天定好姻缘、六畜奴作满成行、男女聪明福自隆
    男木女土--土木夫妻本不宜、灾难疾病来侵之、两合相克各分散、一世孤单昼夜啼
    男水女金--金水夫妻富高强、钱财积聚百岁长、婚姻和合前程辉、禾仓田宅福寿长
    男水女木--木水夫妻好姻缘、财宝贵富旺儿郎、朱马禾仓积满院、男女端正学文章
    男水女水--两水夫妻喜洋洋、儿女聪明家兴旺、姻缘美满福双全、满仓财产好风光
    男水女火--水火夫妻不相配、在家吃饭在外睡、原因二命相克害、半世姻缘半世愁
    男水女土--水土夫妻不久存、三六九五见瘟王、两命相克亦难过、别处他乡嫁别克
    男火女金--金火夫妻克六亲、不知刑元在何身、若是稳有不孝顺、祸及子孙守孤贫
    男火女木--火木夫妻好婚配、子孙孝顺家业旺、六畜钱粮皆丰盈、一世富贵大吉昌
    男火女水--水火夫妻虽有情、结啼姻缘亦不深、儿女若是有富贵、到老还是孤独人
    男火女火--两火夫妻日夜愁、妻离子散泪水流、二命相克宜不聚、四季孤独度春秋
    男火女土--火土夫妻好相配、高官禄位眼前风、两人合来无克害、儿女聪明永富贵
    男土女金--土金夫妻很姻缘、两口相爱至百年、内宅平安六畜福、生来女儿均团圆
    男土女木--土木夫妻意不同、反眼无情相克冲、有食无儿克夫主、半世姻缘家财空
    男土女水--土水夫妻定有兽、接到家中定有灾、妻离子散各东西、家中冷落财不来
    男土女火--土火夫妻大昌吉、财粮不愁福寿长、儿女聪明生端正、富贵荣华好时光
    男土女土--双土夫妻好姻缘、共欢一世福双全、儿女聪明多兴旺、富贵荣华好家园

     

     

    仅供娱乐参考!

    展开全文
  • C#: 生辰八字五行计算算法

    千次阅读 2016-12-30 10:15:59
    最近偶有机缘接触到八卦五行,有个校友在做紫微斗数,于是乎就想做个计算生辰八字五行算法的C#代码,说到底占卜命理这种理论笔者觉得最终还是基于统计学的,这个可能有很多学派很多师傅有不同的理论,不过算生辰八字...

    最近偶有机缘接触到八卦五行,有个校友在做紫微斗数,于是乎就想做个计算生辰八字五行算法的C#代码,说到底占卜命理这种理论笔者觉得最终还是基于统计学的,这个可能有很多学派很多师傅有不同的理论,不过算生辰八字还算是通用的,不过不能乱算,笔者最不喜欢的就是搞个不靠谱的误人子弟,于是乎研究了一圈,发现有篇潘爱民写的还算比较可靠,但是是基于c语言的,于是笔者在这基础上写了个C#版的,本着源于网络回馈网络的精神下面是C#改写的代码,望大家交流,有其他占卜相关的算法也可以一起研究,其实这和大数据还真的能结合一起。

        public class BaziAlgorithm
        {
            //==================================
            //以下为http://blog.csdn.net/panaimin/article/details/8544489
            //计算五行


            const string TianGan = "甲乙丙丁戊己庚辛壬癸";
            const string DiZhi = "子丑寅卯辰巳午未申酉戌亥";


            public bool CheckBazi(string bazi)
            {


                int baziLen;


                int i, j;






                baziLen = bazi.Length;


                if (baziLen != 6 && baziLen != 8) return false;






                for (i = 0; i < baziLen;)
                {


                    char ch = bazi[i];


                    for (j = 0; j < 10; j++)


                        if (ch == TianGan[j]) break;


                    if (j >= 10) return false;


                    i++;






                    ch = bazi[i];


                    for (j = 0; j < 12; j++)


                        if (ch == DiZhi[j]) break;


                    if (j >= 12) return false;


                    i++;


                }






                return true;


            }






            /*


            根据出生日子的天干,通过下表来查算时辰干支:


            时辰干支查算表


            时间时辰                             五行纪日干支


                                   甲己     乙庚     丙辛     丁壬     戊癸






            23-01 子/水           甲子     丙子     戊子     庚子     壬子


            01-03 丑/土           乙丑     丁丑     己丑     辛丑     癸丑


            03-05 寅/木           丙寅     戊寅     庚寅     壬寅     甲寅


            05-07 卯/木           丁卯     己卯     辛卯     癸卯     乙卯


            07-09 辰/土           戊辰     庚辰     壬辰     甲辰     丙辰


            09-11 巳/火           己巳     辛巳     癸巳     己巳     丁巳


            11-13 午/火           庚午     壬午     甲午     丙午     戊午


            13-15 未/土           辛未     癸未     乙未     丁未     己未


            15-17 申/金           壬申     甲申     丙申     戊申     庚申


            17-19 酉/金           癸酉     乙酉     丁酉     己酉     辛酉


            19-21 戊/土           甲戌     丙戌     戊戌     庚戌     壬戌


            21-23 亥/水           乙亥     丁亥     己亥     辛亥     癸亥






            */


            string[][] cTimeGanZhi_Table = new string[12][]


    {


            new string[] {"甲子","丙子","戊子","庚子","壬子"},


            new string[] {"乙丑","丁丑","己丑","辛丑","癸丑"},


            new string[] {"丙寅","戊寅","庚寅","壬寅","甲寅"},


            new string[] {"丁卯","己卯","辛卯","癸卯","乙卯"},


            new string[] {"戊辰","庚辰","壬辰","甲辰","丙辰"},


            new string[] {"己巳","辛巳","癸巳","己巳","丁巳"},


            new string[] {"庚午","壬午","甲午","丙午","戊午"},


            new string[] {"辛未","癸未","乙未","丁未","己未"},


            new string[] {"壬申","甲申","丙申","戊申","庚申"},


            new string[] {"癸酉","乙酉","丁酉","己酉","辛酉"},


            new string[] {"甲戌","丙戌","戊戌","庚戌","壬戌"},


            new string[] {"乙亥","丁亥","己亥","辛亥","癸亥"}


    };






            static string sBuf;        // 用作八字结果缓冲区






            // 根据出生年月日的干支计算时辰干支


            // 输入参数:bazi,年月日的干支,即八字中的前六个字


            // 输入参数:hour,出生时间的小时数,-1~22


            // 输出结果:八字字符串,Unicode编码


            public string ComputeTimeGan(string bazi, int hour)


            {
                if (hour > 22) hour -= 24;
                char dayGan = bazi[4];






                int indexX, indexY;






                int i;


                for (i = 0; i < 10; i++)


                    if (dayGan == TianGan[i]) break;


                if (i >= 10) return "";


                indexX = i;


                if (indexX >= 5) indexX -= 5;


                indexY = (hour + 1) / 2;






                sBuf = bazi;


                sBuf += cTimeGanZhi_Table[indexY][indexX];






                return sBuf;


            }






            /*


            十二月份天干强度表


            生月\四柱天干        甲              乙              丙              丁              戊              己              庚              辛              壬              癸


            子月                            1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0             1.2             1.2


            丑月                            1.06 1.06 1.0             1.0             1.1             1.1             1.14 1.14 1.1             1.1


            寅月                            1.14 1.14 1.2             1.2             1.06 1.06 1.0             1.0             1.0             1.0


            卯月                            1.2             1.2             1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0


            辰月                            1.1             1.1             1.06 1.06 1.1             1.1             1.1             1.1             1.04 1.04


            巳月                            1.0             1.0             1.14 1.14 1.14 1.14 1.06 1.06 1.06 1.06


            午月                            1.0             1.0             1.2             1.2             1.2             1.2             1.0             1.0             1.0             1.0


            未月                            1.04 1.04 1.1             1.1             1.16 1.16 1.1             1.1             1.0             1.0


            申月                            1.06 1.06 1.0             1.0             1.0             1.0             1.14 1.14 1.2             1.2


            酉月                            1.0             1.0             1.0             1.0             1.0             1.0             1.2             1.2             1.2             1.2


            戌月                            1.0             1.0             1.04 1.04 1.14 1.14 1.16 1.16 1.06 1.06


            亥月                            1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0             1.14 1.14


            */






            double[][] TianGan_Strength = new double[12][]


            {


            new double[] {1.2, 1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.2,  1.2},


             new double[]{1.06,        1.06,         1.0,  1.0,  1.1,  1.1,  1.14,         1.14,         1.1,  1.1},


            new double[] {1.14,        1.14,         1.2,  1.2,  1.06,         1.06,         1.0,  1.0,  1.0,  1.0},


            new double[] {1.2, 1.2,  1.2,  1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0},


            new double[] {1.1, 1.1,  1.06,         1.06,         1.1,  1.1,  1.1,  1.1,  1.04,         1.04},


            new double[] {1.0, 1.0,  1.14,         1.14,         1.14,         1.14,         1.06,         1.06,         1.06,         1.06},


            new double[] {1.0, 1.0,  1.2,  1.2,  1.2,  1.2,  1.0,  1.0,  1.0,  1.0},


            new double[] {1.04,        1.04,         1.1,  1.1,  1.16,         1.16,         1.1,  1.1,  1.0,  1.0},


            new double[] {1.06,        1.06,         1.0,  1.0,  1.0,  1.0,  1.14,         1.14,         1.2,  1.2},


            new double[] {1.0, 1.0,  1.0,  1.0,  1.0,  1.0,  1.2,  1.2,  1.2,  1.2},


            new double[] {1.0, 1.0,  1.04,         1.04,         1.14,         1.14,         1.16,         1.16,         1.06,         1.06},


            new double[] {1.2, 1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.14,         1.14}


            };






            /*


            十二月份地支强度表






                                    生月       子月         丑月         寅月         卯月         辰月         巳月         午月         未月         申月         酉月         戌月         亥月        


            地支         支藏


            子              癸                       1.2             1.1             1.0             1.0             1.04 1.06 1.0             1.0             1.2             1.2             1.06 1.14


            丑              癸                       0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36 0.36 0.318        0.342


            丑              辛                       0.2             0.228        0.2             0.2             0.23 0.212        0.2             0.22 0.228        0.248        0.232        0.2           


            丑              己                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            


            寅              丙                       0.3             0.3             0.36 0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.342        0.318       


            寅              甲                       0.84 0.742        0.798        0.84 0.77 0.7             0.7             0.728        0.742        0.7             0.7             0.84


            卯              乙                       1.2             1.06 1.14 1.2             1.1             1.0             1.0             1.04 1.06 1.0             1.0             1.2            


            辰              乙                       0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36


            辰              癸                       0.24 0.22 0.2             0.2             0.208        0.2             0.2             0.2             0.24 0.24 0.212        0.228       


            辰              戊                       0.5             0.55 0.53 0.5             0.55 0.6             0.6             0.58 0.5             0.5             0.57 0.5            


            巳              庚                       0.3             0.342        0.3             0.3             0.33 0.3             0.3             0.33 0.342        0.36 0.348        0.3            


            巳              丙                       0.7             0.7             0.84 0.84 0.742        0.84 0.84 0.798        0.7             0.7             0.728        0.742       


            午              丁                       1.0             1.0             1.2             1.2             1.06 1.14 1.2             1.1             1.0             1.0             1.04 1.06


            未              丁                       0.3             0.3             0.36 0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318       


            未              乙                       0.24 0.212        0.228        0.24 0.22 0.2             0.2             0.208        0.212        0.2             0.2             0.24


            未              己                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            


            申              壬                       0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36 0.36 0.318        0.342       


            申              庚                       0.7             0.798        0.7             0.7             0.77 0.742        0.7             0.77 0.798        0.84 0.812        0.7            


            酉              辛                       1.0             1.14 1.0             1.0             1.1             1.06 1.0             1.1             1.14 1.2             1.16 1.0            


            戌              辛                       0.3             0.342        0.3             0.3             0.33 0.318        0.3             0.33 0.342        0.36 0.348        0.3            


            戌              丁                       0.2             0.2             0.24 0.24 0.212        0.228        0.24 0.22 0.2             0.2             0.208        0.212       


            戌              戊                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            


            亥              甲                       0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36


            亥              壬                        0.84 0.77 0.7             0.7             0.728        0.742        0.7             0.7             0.84 0.84 0.724        0.798       


            */


            struct ZISTRENGTH
            {


                public char diZhi;


                public char zhiCang;


                public double[] strength;


                public ZISTRENGTH(char a, char b, double[] c)
                {
                    diZhi = a; zhiCang = b; strength = c;
                }


            };




            ZISTRENGTH[] DiZhi_Strength = new ZISTRENGTH[]


            {


            new ZISTRENGTH ('子', '癸', new double[] {1.2,1.1, 1.0, 1.0,        1.04, 1.06, 1.0,1.0, 1.2, 1.2, 1.06, 1.14}),


             new ZISTRENGTH('丑', '癸', new double[] {0.36,0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36, 0.36, 0.318, 0.342}),


             new ZISTRENGTH('丑', '辛', new double[] {0.2,0.228, 0.2, 0.2, 0.23, 0.212, 0.2,         0.22,0.228, 0.248, 0.232, 0.2}),


             new ZISTRENGTH('丑', '己',new double[]  {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}),


             new ZISTRENGTH('寅', '丙', new double[] {0.3,0.3, 0.36, 0.36, 0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.342, 0.318}),


             new ZISTRENGTH('寅', '甲',new double[]  {0.84,0.742, 0.798, 0.84, 0.77, 0.7, 0.7, 0.728, 0.742, 0.7, 0.7, 0.84}),


             new ZISTRENGTH('卯', '乙', new double[] {1.2,1.06, 1.14, 1.2, 1.1, 1.0, 1.0, 1.04, 1.06, 1.0, 1.0, 1.2}),


             new ZISTRENGTH('辰', '乙',new double[]  {0.36,0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36}),


             new ZISTRENGTH('辰', '癸', new double[] {0.24,0.22,  0.2, 0.2, 0.208, 0.2, 0.2, 0.2,0.24, 0.24, 0.212, 0.228}),


             new ZISTRENGTH('辰', '戊',new double[]  {0.5,0.55, 0.53, 0.5, 0.55, 0.6, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}),


            new ZISTRENGTH('巳', '庚', new double[] {0.3,0.342, 0.3, 0.3, 0.33, 0.3, 0.3, 0.33, 0.342, 0.36, 0.348, 0.3}),


             new ZISTRENGTH('巳', '丙', new double[] {0.7,0.7, 0.84, 0.84, 0.742, 0.84, 0.84, 0.798, 0.7, 0.7, 0.728, 0.742}),


             new ZISTRENGTH('午', '丁', new double[] {1.0,1.0, 1.2, 1.2, 1.06, 1.14, 1.2, 1.1, 1.0, 1.0, 1.04, 1.06}),


             new ZISTRENGTH('未', '丁', new double[] {0.3,0.3, 0.36, 0.36, 0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318}),


             new ZISTRENGTH('未', '乙',new double[]  {0.24,0.212, 0.228, 0.24, 0.22, 0.2, 0.2, 0.208, 0.212, 0.2, 0.2, 0.24}),


            new ZISTRENGTH('未', '己', new double[] {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}),


             new ZISTRENGTH('申', '壬', new double[] {0.36,0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36, 0.36, 0.318, 0.342}),


             new ZISTRENGTH('申', '庚',new double[]  {0.7,0.798, 0.7, 0.7, 0.77, 0.742, 0.7, 0.77, 0.798, 0.84, 0.812, 0.7}),


             new ZISTRENGTH('酉', '辛',new double[]  {1.0,1.14, 1.0, 1.0, 1.1, 1.06, 1.0, 1.1, 1.14, 1.2, 1.16, 1.0}),


             new ZISTRENGTH('戌', '辛',new double[]  {0.3,0.342, 0.3, 0.3, 0.33, 0.318, 0.3, 0.33, 0.342, 0.36, 0.348, 0.3}),


             new ZISTRENGTH('戌', '丁', new double[] {0.2,0.2, 0.24, 0.24, 0.212, 0.228, 0.24, 0.22, 0.2, 0.2, 0.208, 0.212}),
             new ZISTRENGTH('戌', '戊',new double[]  {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}),
             new ZISTRENGTH('亥', '甲',new double[]  {0.36,0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36}),
             new ZISTRENGTH('亥', '壬',new double[]  {0.84,0.77, 0.7, 0.7, 0.728, 0.742, 0.7, 0.7, 0.84, 0.84, 0.724, 0.798})
            };
            
            /*
                     金 --- 0
                     木 --- 1
                     水 --- 2
                     火 --- 3
                     土 --- 4
            */




            char[] WuXingTable = new char[] { '金', '木', '水', '火', '土' };
            
            /*
                     天干地支的五行属性表
                     天干: 甲-木、乙-木、丙-火、丁-火、戊-土、己-土、庚-金、辛-金、壬-水、癸-水
                     地支:子-水、丑-土、寅-木、卯-木、辰-土、巳-火、午-火、未-土、申-金、酉-金、戌-土、亥-水
            */






            int[] TianGan_WuXingProp = new int[10] { 1, 1, 3, 3, 4, 4, 0, 0, 2, 2 };
            int[] DiZhi_WuXingProp = new int[12] { 2, 4, 1, 1, 4, 3, 3, 4, 0, 0, 4, 2 };
            int[] GenerationSourceTable = new int[5] { 4, 2, 0, 1, 3 };
            
            int ComputeGanIndex(char gan)
            {
                int i;


                for (i = 0; i < 10; i++)
                    if (TianGan[i] == gan) break;


                if (i >= 10) return -1;


                return i;
            }
            
            int ComputeZhiIndex(char zhi)
            {
                int i;


                for (i = 0; i < 12; i++)
                    if (DiZhi[i] == zhi) break;


                if (i >= 12) return -1;


                return i;
            }
            
            static string sResultBuf;   // 用作八字测算结果返回的字符缓冲区


            // 根据八字计算五行平衡
            // 输入参数:bazi,年月日时的干支,即俗称的八字
            // 输出结果:分析结果字符串,Unicode编码
            public string EvalBazi(string bazi)
            {
                double[] strengthResult = new double[5];


                int monthIndex = ComputeZhiIndex(bazi[3]);


                if (monthIndex == -1) return "";
                
                sResultBuf = bazi;
                sResultBuf += "\n\n五行强度:天干 + 支藏\n";


                for (int wuXing = 0; wuXing < 5; wuXing++)
                {
                    double value1 = 0.0, value2 = 0.0;
                    int i;


                    //扫描4个天干
                    for (i = 0; i < 8; i += 2)
                    {


                        char gan = bazi[i];


                        int index = ComputeGanIndex(gan);


                        if (index == -1) return "";
                        
                        if (TianGan_WuXingProp[index] == wuXing)
                            value1 += TianGan_Strength[monthIndex][index];
                    }
                    
                    //扫描支藏
                    for (i = 1; i < 8; i += 2)
                    {
                        char zhi = bazi[i];


                        for (int j = 0; j < DiZhi_Strength.Length; j++)
                        {


                            if (DiZhi_Strength[j].diZhi == zhi)
                            {


                                int zhiCangIndex = ComputeGanIndex(DiZhi_Strength[j].zhiCang);


                                if (zhiCangIndex == -1) return "";


                                if (TianGan_WuXingProp[zhiCangIndex] == wuXing)
                                {
                                    value2 += DiZhi_Strength[j].strength[monthIndex];
                                    break;
                                }
                            }
                        }
                    }


                    strengthResult[wuXing] = value1 + value2;
                    
                    //输出一行计算结果
                    {
                        string preStr;
                        string tmpBuf;


                        tmpBuf = value1.ToString("0.00") + " + " + value2.ToString("0.00") + " = " + (value1 + value2).ToString("0.00") + "\n";
                        
                        preStr = WuXingTable[wuXing] + ":\t";
                        sResultBuf += preStr;
                        sResultBuf += tmpBuf;
                    }
                }


                //根据日干求命里属性
                int fateProp, srcProp;
                {
                    string tmpWBuf;


                    fateProp = TianGan_WuXingProp[ComputeGanIndex(bazi[4])];


                    if (fateProp == -1) return "";
                    
                    tmpWBuf = "\n命属" + WuXingTable[fateProp] + "\n\n";
                    sResultBuf += tmpWBuf;
                }


                //求同类和异类的强度值
                srcProp = GenerationSourceTable[fateProp];
                {
                    string preStr;
                    string tmpBuf;
                    double tongLei = strengthResult[fateProp] + strengthResult[srcProp];
                    double yiLei = 0.0;


                    for (int i = 0; i < 5; i++) yiLei += strengthResult[i];


                    yiLei -= tongLei;
                    
                    tmpBuf = strengthResult[fateProp].ToString("0.00") + " + " + strengthResult[srcProp].ToString("0.00") + " = " + tongLei.ToString("0.00") + "\n";
                    preStr = "同类:" + WuXingTable[fateProp] + "+" + WuXingTable[srcProp] + ",";


                    sResultBuf += preStr;
                    sResultBuf += tmpBuf;


                    tmpBuf = yiLei.ToString("0.00") + "\n";
                    sResultBuf += "异类:总和为 " + tmpBuf;
                }
                return sResultBuf;
            }
        }


    注:原作c代码里面对于hour小时的范围有个前后矛盾,这里加了一句if (hour > 22) hour -= 24;来匹配范围。


    这个方法需要先去比如nongli.net查询八字的前6字,也就是年月子对应的天干和地支,这个查万年历当然是很容易的,不过也可以用代码的形式输入年月日就自动得到这前6字,然后调用本篇的代码算出五行。至于得到前6字的算法大家可以研究nongli.net的js代码然后改写成C#代码,这个大家可以自己尝试哈。能做到自动生成的话,其实本篇的CheckBazi()函数就不需要了。

    值得一提的是,本篇的c语言转成c#还是简单的,其实js转成c#也是简单的,不过有些时间函数C#并没有一一对应的,这里讲解两个关键的。

    在JS里面的Date.UTC(1900,0,6,2,5)这个函数在C#是没有对应的,所以需要自己写,需要注意的是此函数的月份范围是0~11而不是1-12,所以在用C#的datetime来表示的时候,月份需要+1,另外就是时区的问题,中国在东8区,所以正常情况下你的电脑设置的时区也是东8区的北京时间的话,在做转换的时候需要考虑这个问题。UTC返回的可以用double变量来存,用int是不够的切记。

    还有new Date( Date.UTC(1900,0,6,2,5) )这个函数会把计算的UTC数值再转化成日期并取出天的数值,需要写另外一个C#函数来实现,下面是代码。

    public double ConvertDateTimeInt(System.DateTime time)
            {
                double intResult = 0;
                System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
                time = time.AddHours(8);//转化为北京时间(北京时间=UTC时间+8小时 )
                intResult = (time - startTime).TotalMilliseconds;
                return intResult;
            }
            public DateTime ConvertIntDatetime(double utc)
            {
                System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
                startTime = startTime.AddMilliseconds(utc);
                startTime = startTime.AddHours(-8);//转化为北京时间(北京时间=UTC时间+8小时 )
                return startTime;
            }

    这里面的addHours的8和-8都是实际测试验证的。有了上面2个函数,要计算八字就不难了。


    展开全文
  • JAVA 实现汉字五行笔画查询

    千次阅读 2014-02-08 11:04:02
    缘起:几年前,小儿出生的几天之内,我需要为他...姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。 在辩认五行时,只计l——10的数,超过10的数,就去掉

    缘起:几年前,小儿出生的几天之内,我需要为他起名字。名字很重要吗 一文中我谈到了名字的重要性。

    作为易学高手的我(大师♂罗莊)对告诉各位码农如何制作取名系统 负有不可推卸的责任。


    本次课程

    原理很简单:



    姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。
    在辩认五行时,只计l——10的数,超过10的数,就去掉十份数而取其个位数, 这样仍还原成l——10之间的数;如果个位数为0,则计为10即可。
    以数理来划分五行列表如下: 数始于1而终于10。按传统的五行理论来划分,则: 以1、2为木,1为阳木,2为阴木。
    以3、4为火,3为阳火,4为阴火。 以5、6为土,5为阳土,6为阴土。 以7、8为金,7为阳金,8为阴金。
    以9、10为水,9为阳水,10为阴水。


    需要注意的是名字要用繁体笔画不是简体笔画,本文也是用繁体笔画


    直接上代码就可以了,为了方便取数,我把名字五行直接存数组不用计算了

     

    package javaluozhuangtestname;
    
    import java.util.ArrayList;
    
    /**汉字五行笔画库
     *
     * @author luozhuang 大师♂罗莊
     */
    public class BhWxLib {
    
        private ArrayList<MetaLibItem> libs = new ArrayList();
    
        /**
         * 以数理来划分五行列表如下: 数始于1而终于10。按传统的五行理论来划分,则:     以1、2为木,1为阳木,2为阴木。    
         * 以3、4为火,3为阳火,4为阴火。     以5、6为土,5为阳土,6为阴土。     以7、8为金,7为阳金,8为阴金。    
         * 以9、10为水,9为阳水,10为阴水。
         */
        public enum wuxing {
    
            木,//0
            火,// 1
            土,// 2
            金,//3
            水,//4
        }
    
        /**
         * 姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。
         * 在辩认五行时,只计l——10的数,超过10的数,就去掉十份数而取其个位数, 这样仍还原成l——10之间的数;如果个位数为0,则计为10即可。
         *
         * @param paramInt
         * @return
         */
        public int get_wx_idx(int paramInt) {
            if (paramInt > 10) {
                paramInt = paramInt % 10;
    
            }
            switch (paramInt) {
                default:
                    return -1;
                case 1:
                case 2:
                    return 0;
                case 3:
                case 4:
                    return 1;
                case 5:
                case 6:
                    return 2;
                case 7:
                case 8:
                    return 3;
                case 0:
                case 9:
                    return 4;
            }
    
        }
    
        BhWxLib() {
            this.libs.add(new MetaLibItem(1, 2, "一乙"));
            this.libs.add(new MetaLibItem(2, 0, "九几"));
            this.libs.add(new MetaLibItem(2, 1, "二丁了力乃刁"));
            this.libs.add(new MetaLibItem(2, 2, "又"));
            this.libs.add(new MetaLibItem(2, 3, "七人十入刀"));
            this.libs.add(new MetaLibItem(2, 4, "卜八乜"));
            this.libs.add(new MetaLibItem(3, 0, "久工口乞干弓广"));
            this.libs.add(new MetaLibItem(3, 1, "大女巳孒"));
            this.libs.add(new MetaLibItem(3, 2, "也于丸己土山个"));
            this.libs.add(new MetaLibItem(3, 3, "三小千士川上才寸刃夕尸"));
            this.libs.add(new MetaLibItem(3, 4, "万下亡凡子"));
            this.libs.add(new MetaLibItem(4, 0, "介牛五公月元及孔今亢卞欠犬斤牙勾勻木气"));
            this.libs.add(new MetaLibItem(4, 1, "天六中日丑斗内太屯丹井弔支止之午尺火从丰"));
            this.libs.add(new MetaLibItem(4, 2, "尹允王友引尤厄曰毋切予"));
            this.libs.add(new MetaLibItem(4, 3, "仁升氏心什仇手仍少殳戈爪双"));
            this.libs.add(new MetaLibItem(4, 4, "夫匹巴文方互分比勿反歹户毛父幻不仆化云毋壬水片币仆"));
            this.libs.add(new MetaLibItem(5, 0, "古加卉玉甲可功瓜甘丘句外去巧札术本卯未"));
            this.libs.add(new MetaLibItem(5, 1, "代旦只冬立田叮他令召台尼奴冉左丙另叹"));
            this.libs.add(new MetaLibItem(5, 2, "右央由用永以仔瓦幼叶戊"));
            this.libs.add(new MetaLibItem(5, 3, "生史仙占册申仕四世市司出仟且示石失尻刊正主矢"));
            this.libs.add(new MetaLibItem(5, 4, "民弘布平皮丕付玄弁白必目包禾半兄北弗末皿匆母穴疋氷夯"));
            this.libs.add(new MetaLibItem(6, 0, "交旭价吉仰曲共伎伉企各戎机考件朽竹朵匡朱"));
            this.libs.add(new MetaLibItem(6, 1, "亘打老至自尖仲灯匠多耳宅虫同年劣全光弛兆旨肉礼"));
            this.libs.add(new MetaLibItem(6, 2, "亦宇夷因衣有羊伊安圭伍艮地吐圳充羽戌灰优"));
            this.libs.add(new MetaLibItem(6, 3, "字次守如在而西舟再存夙色早式先冲丞吏寺旬死庄此任州臣曳列舌众"));
            this.libs.add(new MetaLibItem(6, 4, "好休伏行仿合刑血名后回亥妃百米冰并牟伐牝兇凶危汀印收向后"));
            this.libs.add(new MetaLibItem(7, 0, "言见見更克角角君吟吾旱改谷究岑我估妓局劫告杆攻却忌困杖杜吴吳杌肖村材杞何杏启"));
            this.libs.add(new MetaLibItem(7, 1, "良甸男佟里牢廷吕呂住志呈佃伶灶体灸利足町李豆吞弄努低彤但妥卵弟佗求杉巫免采卤听"));
            this.libs.add(new MetaLibItem(7, 2, "邑佑完位秃禿役余似延均坑岐冶坍辰坟坊坂牡医"));
            this.libs.add(new MetaLibItem(7, 3, "成助车車作伸身孜佐秀伺坐束宋序赤妆妝私妊壮壯串些吹声忍走辛巡初吢佘系兑酉判系"));
            this.libs.add(new MetaLibItem(7, 4, "希孚孝宏妙伴甫伯兵尾呆步每妣亨贝貝别妤况形忘佛忙含妨否罕坔江戒池汝冷尨妍"));
            this.libs.add(new MetaLibItem(8, 0, "狂抗技快玖佳供佶枝析姑炆炘宜奇欣居岳固其果劻季卷斧昂纠糾京空孤官肯券屈卧臥乖穹祁林杵杻东東竺枝具佼杼松羌析杷杭板杯枚昏忽柿"));
            this.libs.add(new MetaLibItem(8, 1, "两兩肋投侗佻侍侈例岱征妮姐典卓直来來到长長定知忠制争爭冽帖店忝底念的妾弩乳政徂戽折狄決昆易炊咎帑炎旻罔籴昊隶丽炉"));
            this.libs.add(new MetaLibItem(8, 2, "抑依侑往夜委奄昀宛旺于於亚亞盂艾坤岩坦坡坪忧岭"));
            this.libs.add(new MetaLibItem(8, 3, "忱沖抄侃使孥姗姓昇尚宗社受虱事承始昌宙舍青叔昔取刹刷儿兒妻所凭垂刺妬社祀姒金庚刻周卒"));
            this.libs.add(new MetaLibItem(8, 4, "扶沐汾版抛没汶侔佩彼妹武朋孟秉命享和府门門奉明岸沛房放并並味幸咊或帛服氓効弦物虎盲呼非卹阜把昊汽沅岡卦沂汲沚宓沃雨协協汪沁沙沈牧状狀冼庙奋弥怀"));
            this.libs.add(new MetaLibItem(9, 0, "侠俠俄拘拒柑柯科纪紀祈皆军軍彦彥契姱羿禺轨軌建癸冠客玩肝哄架界劲勁姜剋看竿故急姣虹姬斫肖柱柳相柘柴芒柄柏面"));
            this.libs.add(new MetaLibItem(9, 1, "侣侶俊待律沺招抽拐纣紂祉重贞貞炤昭亮耐帝南亭盾段泰奏炭致突订訂怠怒赴柬怨昱勅姞祉映歪炳炫厘类邓"));
            this.libs.add(new MetaLibItem(9, 2, "衩耶押约約怡威勇音要禹囿屋畏姻哀幽宥昶韦韋姚奎垣型盆"));
            this.libs.add(new MetaLibItem(9, 3, "衫信俗促侵咨拆拙秋是首则則哉前省思帅帥宣叙页頁俞春星食性砂削查柔施姿室昨甚牲峙俟昝厍厙枯怪度姹姝"));
            this.libs.add(new MetaLibItem(9, 4, "侯保便係衍後河法泊波泓泯抱拍秒红紅飞飛厚屏香美风風品盈巷盼盃勃眇眉炫昧皇表封负負某扁玫毗甭宦羑哈咸奔狐泔计計炬染治注沼拜泥沮油況沿泳泑泱泉宪"));
            this.libs.add(new MetaLibItem(10, 0, "兼俱纭紜矩倚径徑屐桂格根栓娱娛娟粉家起记記肩芸衿珈括尅恭库庫豈哥拳躬笈氣缺虔贡貢鬼恢骨高耕衾皋奚芝桃桐株芷芯桑栗桌核校桓芬芙芽芳花笏倏样芦"));
            this.libs.add(new MetaLibItem(10, 1, "恬衲冻凍纳納伦倫倒倬值徒秩娣娜娘娌唐朔烈哲庭珍凌玲玳朕晁展晋晉恕料旃岛島特畜耄讨討留恥疾娲旅斗鬥耿晃烟恣秦祝芮夏烜烘虑敌达积烛玺党恋栾"));
            this.libs.add(new MetaLibItem(10, 2, "准容员員祐晏益肴恩殷宴案翁袁烟盎乌烏育個原峡峽峨砧轩軒城埋破砲"));
            this.libs.add(new MetaLibItem(10, 3, "纯純纸紙修倩借徐持娠时時宰孙孫差峻宸财財拾狩指珊师師仓倉钊釗弱素书書租乘射席殉祠座息殊栽神笑讪訕针針闪閃酌索烝隼眞真邛倪刚剛宫宮罡祖晁钉釘祚剖曹斋耸迁蚕"));
            this.libs.add(new MetaLibItem(10, 4, "娑纹紋纺紡纷紛倍倖候俵俸俯倣秘秤娥派洽肥肪恨珀恒圃训訓峰畝效埋畔旁冥併臭蚊豹配釜马馬勉峰航害眠病疲耘耗恤祜洸洨纽紐洲洞洛流洪洋活纱紗洗津洒酒洼洁"));
            this.libs.add(new MetaLibItem(11, 0, "卿救规規顷頃健偶偕御械梧悍悟娸康国國教基崑启啟乾区區坚堅苦珪寄崔晤近贯貫眼毬皎眷研竟翊袈寇圈苟邢梯苕笠笞笛救苡英苑圉彬梢梓桶若许許笙笥苫啟枭梟梗梅茂符苻茅盖"));
            this.libs.add(new MetaLibItem(11, 1, "胎振崙朗侦偵條從埜累将將章翎梨带帶那动動执執犁张張敕斛顶頂鹿梁悌略粒聊豚袋狷软軟聆羚帐帳聃娄婁鹵烷烽戚珣晟袜断离"));
            this.libs.add(new MetaLibItem(11, 2, "浴涎胃偃伟偉悠移婉英胡庸寅唯庵尉欲迎窕眺翌野异異敖域基崎堀堂崩鸟鳥峥培崩运"));
            this.libs.add(new MetaLibItem(11, 3, "袖绅紳组組绍紹细細终終侧側得匙处處焌参參紫专專晨祥船常崧崇趾彩钏唱勘阡商问問寂庶彫旌巢宿悉旋叙敘敍斜爽珠悦率产產祭窓粗羞设設船钗釵责責馗赦雀讼訟紮绝絕胙胥邢钓釣眾紬书書副珮钒剩"));
            this.libs.add(new MetaLibItem(11, 4, "袍胞浦浲海浮斌绊絆培偏徘货貨婚妇婦胖娬背麦麥习習鱼魚匾望望敏凰苗婆务務密閈闬彪败敗晦毫捕晚粕访訪曼邦贩販被麻票班讹訛悖邠毕畢扈浩涓匏浪涕涂浴涎浚消浸浙雪涉習习范还"));
            this.libs.add(new MetaLibItem(12, 0, "雁絖给給绞絞结結络絡草棋椅棍堦迭掘掛球荃皖捲琹稀期景开開皓尧堯蛟敢傑幾嵌贵貴凯凱欺雅割寓筐棨乔喬窘街强款硬邱栖统統栋棟植筌答茶筑筒棠椒绛絳筳庾茹栈棧森茜茸筍策荏茱最桌荀棚棒棉棼筏荒阮筑茧"));
            this.libs.add(new MetaLibItem(12, 1, "盗盜诊診场場琉捷探理琅凉涼程敦婷喨軼贴貼登智轴軸痛劳勞量能单單粧短巽凌淩衕闰轸軫循幅迢就寻尋媛邰屠娲硫炀煬晴晶焦焙惇焱欻证"));
            this.libs.add(new MetaLibItem(12, 2, "詠恶惡围圍为為翔翕蛙黑奠壹贻貽堰越惟勋黄黃砚硯堤堪岚嵐堡费費邮阴阳"));
            this.libs.add(new MetaLibItem(12, 3, "丝絲绒絨钞鈔絢绚註词詞诏詔诉訴授措推琇净淨税稍竦创創须須絮残殘替尊窗疎胜勝兹黍象裁斯视視超然曾殖掌甦贰貳舜甥善喻顺順舒剩盛竣脂情惜散奢枣棗粟述邵丧喪犀钧鈞钦欽割觇覘问問辜钮鈕钝鈍钠鈉接粟童剀剴甯朝堵鈄钭壶壺邹"));
            this.libs.add(new MetaLibItem(12, 4, "闷悶冯馮评評迫排虚防媚发發粥弼賁贲徨喜惠斐閒闵閔帽报報备備蛤买買雄寒云雲富復贺賀普贸貿扉悲唤喚傍脉脈博无無雰傅邯邳邴邶彭猛番淇涯淦混顸頇荆现現淋添淡淘幅淹液涴淑清深淞项項渊淵猎蛮"));
            this.libs.add(new MetaLibItem(13, 0, "琴绢絹经經倾傾楷裙揭暇睽誇勤祺诘詰莞嫁廉献羣舅跪义義感禁解业業鼓极極筠港减減琦琪琨郊窟颂頌愚干幹靴敬畸靳楠莉莨琳莒荻筱椰杨楊预預蛾媵莎莠椿楫榆苋莧莘枫楓楣莆茕煢莽"));
            this.libs.add(new MetaLibItem(13, 1, "粮传傳楠廊提稔稜暖睦煜炼煉脱煖当當鼎跡督塔农農雉殿追琢退电電虞驰馳煎裹顿頓路寗零詹媸禄祿艇照碖郅偻炀煬扬揚旸暘烟煙炜煒琰徭煊焕煥煤煇煌逄毓"));
            this.libs.add(new MetaLibItem(13, 2, "筳傭阿犹猶握稚暗话話衙矮意碗奥雍附琬爱愛裔圆圓爷爺饮飲园園嫈恽惲块塊圣聖碑"));
            this.libs.add(new MetaLibItem(13, 3, "辞送迺绣愉债債催羡捷暄诗詩询詢裕详詳试試荘驯馴伤傷新势勢岁歲歆蜀想斟资資琮琛楚轼軾肆蜃裟载載靖嗣暑装鼠愈剿凖愁酬勣郄禽睢钜钰鈺饬飭铃鈴钲鉦钿鈿邾铅鉛絺触"));
            this.libs.add(new MetaLibItem(13, 4, "补補雹绥綏粳鈵钵鉢琵换換挥揮晖暉湍琶聘颁頒号號瓶郁陂惶湣浑渾会會蜂微妈媽鸠鳩盟饭飯较較熙莫裘港媲贾賈涂塗雷汤湯渡浈湞渭游湖湛湶测測渝湘溆湫渠渻郇孵募"));
            this.libs.add(new MetaLibItem(14, 0, "綺绮纲綱魁紧緊降诰誥诫誡语語郡菊槐侨僑侥僥伪偽瑟斳赫旗箇轻輕嘉箕歌犒肇愿管疑郏郜兢菱构構戬戩榴榔莱菅榕莞荣榮算尝嘗箒粽翠笺箋菜菁菑萌幕梦夢榜裴枪槍"));
            this.libs.add(new MetaLibItem(14, 1, "尽盡寧宁绿綠纶綸绰綽绫綾通连連逐透誌种種郎菱溜嫩嫡对對团團裳奖獎态態端恺愷彰尔爾尘塵畅暢辣獃叹嘆歎领領廖臺台赵趙嫘滕僚摇枪槍榭制製绫綾蜡"));
            this.libs.add(new MetaLibItem(14, 2, "维維诞誕温溫斲瑛玮瑋瑕顼頊與与嫣境翟硕碩墀"));
            this.libs.add(new MetaLibItem(14, 3, "绶綬综綜慈绸綢造速认認诵誦说說诚誠称稱僧僖像衔銜阀閥精聚甄饰飾寿壽誓酸赈賑粹实實瑜瑄瑞署察齐齊狮獅綮慎银銀韶铨銓铜銅瑒玚划劃臧铭銘郝郤"));
            this.libs.add(new MetaLibItem(14, 4, "網网绵綿逢溥诲誨铭銘福僕嫚貌萍窪洼闻聞饲飼飒颯辅輔碧华華饱飽蜜魂凤鳳熊鸣鳴鼻陌宾賓豪阁閣髦熏闽閩舞滑寡源溪灭滅阁閣嘏溶瑚溢沧滄滋滏溲滇郗涤滌"));
            this.libs.add(new MetaLibItem(15, 0, "葵慷慨廣枢樞萼稼俭儉價仪儀鞏课課驾駕毅靠穀郭箴庆慶宽寬娇嬌谊誼颉頡麫麪驹駒概稽葛樟楼樓稻樑箭竖豎蒂稷樣莹瑩樊耦萱槽箱葫葱葆标標模篇筅筅樗贤賢築药"));
            this.libs.add(new MetaLibItem(15, 1, "缎緞缇緹练練董缔締缓緩腰徵彻徹德阵陣瑭刘劉谅諒乐樂调調慮弹彈谈談层層轮輪暟敵论論进進頫蝶瑯除萳摘暂暫驻駐践踐质質寮鲁魯鼐儋厉厲黎褚逯郯歎糊热熱僻"));
            this.libs.add(new MetaLibItem(15, 2, "嫺亿億院阅閱养養逸慰欧歐鞍影頞豌蝴憂蝯葉郵卫衛嶔娴嫻确確逵增墩磋磁磐"));
            this.libs.add(new MetaLibItem(15, 3, "节節绪緒线線锄鋤锈衝陞升婵嬋赏賞审審帜幟锐銳熟瑲玱趣赐数數蚀蝕媭谆諄请請靓靚敷辤驷駟剧劇剑劍肠腸摯挚闾閭缄緘锋鋒铺鋪劈"));
            this.libs.add(new MetaLibItem(15, 4, "编編翩暴範廟魄嬉霈蝦蝠饼餅辉輝慧暮漫摸兴興部滹漠漂满滿墨瞑卖賣辈輩虢醇摩履盘盤赔賠箲蝙赋賦萬汉漢缗緡幣漪浒滸滚涨漲霆滺渔漁演霄渍漬漩震漕褒慕"));
            this.libs.add(new MetaLibItem(16, 0, "遇过過裤褲机機桥橋橘谐諧谚諺颊頰黔圜县縣笃篤器龟龜哙噲蓋蒯蓄蓁麇萤螢蓉颖穎鄂阎閻树樹苍蒼冀亲親整横桦樺义義褰蒲"));
            this.libs.add(new MetaLibItem(16, 1, "道谘諮遂達錄录燐積灯燈燑瑾燉燄璋陵陈陳陶螣谛諦臻琏璉赖賴历曆靛蹄头頭导導歴龙龍卢盧俦儔璃糖鸯鴦都颓頹骆駱陆陸晓曉璇燃炽熾烧燒熹"));
            this.libs.add(new MetaLibItem(16, 2, "遐遊運陰谓謂燕衡鸭鴨餘鸳鴛豫融歙嬴瓯甌郓鄆坛壇壁磨勋勳"));
            this.libs.add(new MetaLibItem(16, 3, "锤錘锥錐锡錫钱錢错錯谕諭縢诸諸辑輯静嫱醒儒蒨侪儕战戰叡雕锦錦钢鋼錡锜锯鋸谒謁谖諼铮錚锭錠撮赪赬穆"));
            this.libs.add(new MetaLibItem(16, 4, "遍熺烨燁潢谋謀陪学學霏奮颔頷缚縛默憲潘蒙鲍鮑潔浇澆溃潰靦腼霍潭潮润潤澄澂霖寰澍霑霓愤憤"));
            this.libs.add(new MetaLibItem(17, 0, "颗谦謙玑璣检檢嶽恳懇擎击擊举舉糠艰艱讲講懋罄鞠觊覬赚賺黚矫矯莲蓮联聯檀蒋蔚营營蔡蔓篷豁蓬"));
            this.libs.add(new MetaLibItem(17, 1, "队隊绩績麋隆赯儡励勵瞳嬭奶瞭辗輾纵縱螳临臨螺擂择擇燧炼煉黛隸襄蒋謄誊灿燦燭燥黏燮繆缪"));
            this.libs.add(new MetaLibItem(17, 2, "優应應远遠壑陽擁拥醖酝婴嬰邬鄔嶺矶磯壕"));
            this.libs.add(new MetaLibItem(17, 3, "操赛賽钟鐘齋聲骏駿聳偿償縻禅禪糟徽瞬缩縮聪聰总總逊遜锹鍬谢謝饯餞鲜鮮蹇鄒隋键鍵锅鍋谿锻鍛镀鍍氈舆輿赜"));
            this.libs.add(new MetaLibItem(17, 4, "鄉鸿鴻繁霞璠璜璟禧賸嫔嬪镁鎂韩韓浓濃潞亵泽澤彌澹霜"));
            this.libs.add(new MetaLibItem(18, 0, "翘翹谨謹绕繞骐騏槛檻搁擱擬璩归歸睑瞼简簡颜顏骑騎鹃鵑黠觐覲魏瞽蕊簪瞿隗鬆获獲鹄鵠萧蕭旧舊"));
            this.libs.add(new MetaLibItem(18, 1, "烬燼禮斷戴適爵焘燾糧瞻转轉职職蟲鲤鯉题題釐曜豐燻"));
            this.libs.add(new MetaLibItem(18, 2, "陨隕醫讴謳鄢壘礎璧"));
            this.libs.add(new MetaLibItem(18, 3, "翼翱雙织織颛顓璨缮繕蝉蟬觞觴锁鎖秽穢鎗謦聂聶环環阙闕镇鎮鎚鎚储儲铠鎧镒鎰镕鎔迟遲"));
            this.libs.add(new MetaLibItem(18, 4, "繐馥谟謨滨濱濮闖闯覆蹒蹣鞭涛濤济濟濯濙湿濕杂雜"));
            this.libs.add(new MetaLibItem(19, 0, "关關麒攀曠鲸鯨遗遺撷願愿蚁蟻蟹繫薊蓟难難签簽繭薛麴薇麓竞競萨薩"));
            this.libs.add(new MetaLibItem(19, 1, "谭譚韬韜離璽辙轍赠贈證际際麗類绎繹譔韲郑鄭鄧蠊庞龐"));
            this.libs.add(new MetaLibItem(19, 2, "嬿稳穩"));
            this.libs.add(new MetaLibItem(19, 3, "选選绣繡遷颠顛赞贊兽獸祷禱锵鏘遵畴疇鹊鵲识識辭绳繩鲭鲰鯫谯譙镜鏡繫链鏈镠鏐鏖镖鏢"));
            this.libs.add(new MetaLibItem(19, 4, "鵰谱譜鹏鵬簿绘繪穫羹霪薄獵靡"));
            this.libs.add(new MetaLibItem(20, 0, "琼瓊议議劝勸继繼觉覺警悬懸舰艦严嚴邀牺犧阚闞郐鄶藏纂篮籃籍筹籌骞騫獻薰麵"));
            this.libs.add(new MetaLibItem(20, 1, "龄齡罗羅腾騰赡贍獭獺阐闡胧朧黨窦竇爐耀宝寶飘飄"));
            this.libs.add(new MetaLibItem(20, 2, "孆耀矿礦砾礫壤"));
            this.libs.add(new MetaLibItem(20, 3, "释釋钟鐘馨繻译譯触觸黥齣锏鐧镪鏹鐔镡镫鐙"));
            this.libs.add(new MetaLibItem(20, 4, "還懷颟顢露"));
            this.libs.add(new MetaLibItem(21, 0, "艺藝顾顧龈齦驱驅饒鷄嚣囂颢顥藤藥莺鶯樱櫻饶饒"));
            this.libs.add(new MetaLibItem(21, 1, "跻躋蠟鳎鰨馔饌缠纏"));
            this.libs.add(new MetaLibItem(21, 2, "趯蠡誉譽跃躍巍"));
            this.libs.add(new MetaLibItem(21, 3, "随隨镌鐫续續铎鐸属屬镰鐮铁鐵鉴鑒"));
            this.libs.add(new MetaLibItem(21, 4, "护護鹤鶴轟轰霹辩辯霸黯飜藩瀾澜灌"));
            this.libs.add(new MetaLibItem(22, 0, "权權龢俨儼笼籠蘆鬻藷蘇苏龚龔"));
            this.libs.add(new MetaLibItem(22, 1, "叠疊读讀摄攝聽躒跞龛龕颤顫赎贖囊览覽"));
            this.libs.add(new MetaLibItem(22, 2, "璎瓔隐隱懿鬻窃巅巔"));
            this.libs.add(new MetaLibItem(22, 3, "衬襯铸鑄鬚癣癬袭襲鑑"));
            this.libs.add(new MetaLibItem(22, 4, "骅驊穰響响鳗鰻欢歡边邊沣灃霽霁灑"));
            this.libs.add(new MetaLibItem(23, 0, "驿驛验驗兰蘭籖鱖鳜鹰鷹"));
            this.libs.add(new MetaLibItem(23, 1, "兰蘭戀麟鳞鱗欒显顯"));
            this.libs.add(new MetaLibItem(23, 2, "缨纓巖鑛矿鑢"));
            this.libs.add(new MetaLibItem(23, 3, "攒攢霉铄鑠"));
            this.libs.add(new MetaLibItem(23, 4, "囏变變黴霉"));
            this.libs.add(new MetaLibItem(24, 0, "赣搅攪醸霭靄"));
            this.libs.add(new MetaLibItem(24, 1, "灵靈雳靂鹭鷺篱籬鱣鳣"));
            this.libs.add(new MetaLibItem(24, 2, "艳艷盐鹽罐"));
            this.libs.add(new MetaLibItem(24, 3, "鑫蠶"));
            this.libs.add(new MetaLibItem(24, 4, "鸂"));
            this.libs.add(new MetaLibItem(25, 0, "观觀缵纘羁羈"));
    
            this.libs.add(new MetaLibItem(25, 2, "叆靉"));
    
            this.libs.add(new MetaLibItem(25, 4, "蠻灏灝酆"));
            this.libs.add(new MetaLibItem(26, 0, ""));
            this.libs.add(new MetaLibItem(26, 1, "逻邏郦酈"));
    
            this.libs.add(new MetaLibItem(26, 3, "骥驥讚赞"));
            this.libs.add(new MetaLibItem(26, 4, "湾灣"));
    
            this.libs.add(new MetaLibItem(27, 1, "骧驤缆纜銮鑾"));
    
            this.libs.add(new MetaLibItem(27, 3, "钻鑽锣鑼"));
            this.libs.add(new MetaLibItem(27, 4, "滦灤"));
            this.libs.add(new MetaLibItem(28, 0, "戆"));
    
        }
    
        public int getStringLibs(char item) {
            for (int i = 0; i < libs.size(); i++) {
                if (libs.get(i).IfStringexist(item)) {
                    return i;
                }
            }
            return -1;
        }
    
        public ArrayList<MetaLibItem> getLibs() {
            return this.libs;
        }
    }

     

    package javaluozhuangtestname;
    
    
    /**汉字五行笔画类
     *
     * @author luozhuang 大师♂罗莊
     */
    public class MetaLibItem {
    
        private int bh;//笔画
        private String findStr;
        private int wx_indx;//五行
    
        /**
         *
         * @param bh 笔画
         * @param wx_indx 五行顺序
         * @param findStr //汉字列
         */
        public MetaLibItem(int bh, int wx_indx, String findStr) {
            this.bh = bh;
            this.wx_indx = wx_indx;
            this.findStr = findStr;
        }
    
        /**
         *
         * @return 获得笔画
         */
        public int getBh() {
            return this.bh;
        }
    
        /**
         * 获得汉字列
         *
         * @return
         */
        public String getFindStr() {
            return this.findStr;
        }
    
        /**
         * 获得汉字是否存在列表中
         *
         * @return
         */
        public Boolean IfStringexist(String findStr) {
            if (this.findStr.indexOf(findStr) == -1) {
                return false;
            }
            return true;
        }
        
          /**
         * 获得汉字是否存在列表中
         *
         * @return
         */
        public Boolean IfStringexist(char findStr) {
            if (this.findStr.indexOf(findStr) == -1) {
                return false;
            }
            return true;
        }
    
        /**
         * 获得五行顺序
         *
         * @return
         */
        public int getWx_indx() {
            return this.wx_indx;
        }
    }


     

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package javaluozhuangtestname;
    
    import java.util.ArrayList;
    
    /**取汉字五行笔画演示
     *
     * @author luozhuang 大师♂罗莊
     */
    public class Luozhuangnamewuxing {
    
       public BhWxLib myBhWxLib = new BhWxLib();
    
        /**
         * 取出名字每个字在库中位置
         *
         * @param name
         * @return
         */
        public int[] getnameliborder(String name) {
            char[] namechararray = name.toCharArray();
            int[] returnarray = new int[namechararray.length];
            for (int i = 0; i < namechararray.length; i++) {
                int order = getnameliborder(namechararray[i]);
                returnarray[i] = order;
            }
            return returnarray;
    
        }
    
        /**
         * 取出字在库中位置
         *
         * @param name
         * @return
         */
        public int getnameliborder(char name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = myBhWxLib.getStringLibs(name);
    
            return returnorder;
    
        }
    
        /**
         * 取出名字笔画
         *
         * @param name
         * @return
         */
        public int getnameBH(int name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = libs.get(name).getBh();
    
            return returnorder;
    
        }
    
        /**
         * 取出名字五行
         *
         * @param name
         * @return
         */
        public int getnameWX(int name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = libs.get(name).getWx_indx();
    
            return returnorder;
    
        }
    
        /**
         * 取出名字笔画
         *
         * @param name
         * @return
         */
        public int[] getnameBH(int name[]) {
            int[] returnarray = new int[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameBH(name[i]);
    
            }
            return returnarray;
        }
    
        /**
         * 取出名字五行
         *
         * @param name
         * @return
         */
        public int[] getnameWX(int name[]) {
            int[] returnarray = new int[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameWX(name[i]);
    
            }
            return returnarray;
    
        }
    
        /**
         * 取出名字五行汉字
         *
         * @param name
         * @return
         */
        public String[] getnameWXarray(int name[]) {
            String[] returnarray = new String[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameWXnaying(name[i]);
    
            }
            return returnarray;
    
        }
    
        /**
         * 取出名字五行汉字
         *
         * @param name
         * @return
         */
        public String getnameWXnaying(int name) {
            switch (name) {
                default:
                    return "无";
                case 0:
    
                    return "木";
    
                case 1:
                    return "火";
    
                case 2:
                    return "土";
    
                case 3:
                    return "金";
    
                case 4:
                    return "水";
            }
    
        }
    
        public String pringst(int[] res) {
            StringBuffer result = new StringBuffer();
            for (int i = 0; i < res.length; i++) {
    
    
                result.append(res[i]);
                result.append("   ");
            }
    
            result.append("\n");
            System.out.println(result);
            return result.toString();
        }
    
        public String pringst(String[] res) {
            StringBuffer result = new StringBuffer();
            for (int i = 0; i < res.length; i++) {
    
    
                result.append(res[i]);
                result.append("   ");
            }
    
            result.append("\n");
            System.out.println(result);
            return result.toString();
        }
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            System.out.println("五行简介:\n"
                    + "\n"
                    + "中国五行学说认为宇宙万物,都由金木水火土五种基本物质的运行和变化所构成,所有事物都是随着这五个要素的盛衰,而使得大自然产生变化,不但影响到人的命运,同时也使宇宙万物循环不已。\n"
                    + "\n"
                    + "其中:\n"
                    + "“木曰曲直”,意思是木具有生长、升发的特性;\n"
                    + "“火曰炎上”,是火具有发热、向上的特性;\n"
                    + "“土爰稼墙”,是指土具有种植庄稼,生化万物的特性;\n"
                    + "“金曰从革”,是金具有肃杀、变革的特性;\n"
                    + "“水曰润下”,是水具有滋润、向下的特性\n"
                    + "五行相生相克\n"
                    + "\n"
                    + "五行相生:金生水,水生木,木生火,火生土,土生金。\n"
                    + "\n"
                    + "五行相克:金克木,木克土,土克水,水克火,火克金。 ");
            System.out.println("中国汉字有那五行?\n"
                    + "根据中国五行理论,汉字分为金、木、水、火、土共五种五行属性,每个汉字对应一种五行属性。");
            Luozhuangnamewuxing my = new Luozhuangnamewuxing();
            int[] temp = my.getnameliborder("大师罗庄");
            int[] wuxing = my.getnameWX(temp);
            int[] BH = my.getnameBH(temp);
            System.out.println("大师罗庄的五行");
            my.pringst(my.getnameWXarray(wuxing));
            System.out.println("大师罗庄的笔画");
            my.pringst(BH);
    
    
        }
    }



     

    展开全文
  • 缘起:几年前,小儿出生的几天之内,我需要为他起名字。名字很重要吗 一文中我... 姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。  在辩认五行时,只

      缘起:几年前,小儿出生的几天之内,我需要为他起名字。名字很重要吗 一文中我谈到了名字的重要性。

      作为易学高手的我(大师♂罗莊)对告诉各位码农如何制作取名系统  负有不可推卸的责任。


      本次课程

      原理很简单:



          姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。
          在辩认五行时,只计l——10的数,超过10的数,就去掉十份数而取其个位数, 这样仍还原成l——10之间的数;如果个位数为0,则计为10即可。
          以数理来划分五行列表如下: 数始于1而终于10。按传统的五行理论来划分,则:     以1、2为木,1为阳木,2为阴木。   
         以3、4为火,3为阳火,4为阴火。     以5、6为土,5为阳土,6为阴土。     以7、8为金,7为阳金,8为阴金。   
          以9、10为水,9为阳水,10为阴水。


      需要注意的是名字要用繁体笔画不是简体笔画,本文也是用繁体笔画


      直接上代码就可以了,为了方便取数,我把名字五行直接存数组不用计算了


    package javaluozhuangtestname;
    
    import java.util.ArrayList;
    
    /**汉字五行笔画库
     *
     * @author luozhuang 大师♂罗莊
     */
    public class BhWxLib {
    
        private ArrayList<MetaLibItem> libs = new ArrayList();
    
        /**
         * 以数理来划分五行列表如下: 数始于1而终于10。按传统的五行理论来划分,则:     以1、2为木,1为阳木,2为阴木。    
         * 以3、4为火,3为阳火,4为阴火。     以5、6为土,5为阳土,6为阴土。     以7、8为金,7为阳金,8为阴金。    
         * 以9、10为水,9为阳水,10为阴水。
         */
        public enum wuxing {
    
            木,//0
            火,// 1
            土,// 2
            金,//3
            水,//4
        }
    
        /**
         * 姓名五行生克法: 在数理中包含有五行生克的原理,故以数理来剖析姓名时,必须把各数理所属的五行要素辨认清楚。
         * 在辩认五行时,只计l——10的数,超过10的数,就去掉十份数而取其个位数, 这样仍还原成l——10之间的数;如果个位数为0,则计为10即可。
         *
         * @param paramInt
         * @return
         */
        public int get_wx_idx(int paramInt) {
            if (paramInt > 10) {
                paramInt = paramInt % 10;
    
            }
            switch (paramInt) {
                default:
                    return -1;
                case 1:
                case 2:
                    return 0;
                case 3:
                case 4:
                    return 1;
                case 5:
                case 6:
                    return 2;
                case 7:
                case 8:
                    return 3;
                case 0:
                case 9:
                    return 4;
            }
    
        }
    
        BhWxLib() {
            this.libs.add(new MetaLibItem(1, 2, "一乙"));
            this.libs.add(new MetaLibItem(2, 0, "九几"));
            this.libs.add(new MetaLibItem(2, 1, "二丁了力乃刁"));
            this.libs.add(new MetaLibItem(2, 2, "又"));
            this.libs.add(new MetaLibItem(2, 3, "七人十入刀"));
            this.libs.add(new MetaLibItem(2, 4, "卜八乜"));
            this.libs.add(new MetaLibItem(3, 0, "久工口乞干弓广"));
            this.libs.add(new MetaLibItem(3, 1, "大女巳孒"));
            this.libs.add(new MetaLibItem(3, 2, "也于丸己土山个"));
            this.libs.add(new MetaLibItem(3, 3, "三小千士川上才寸刃夕尸"));
            this.libs.add(new MetaLibItem(3, 4, "万下亡凡子"));
            this.libs.add(new MetaLibItem(4, 0, "介牛五公月元及孔今亢卞欠犬斤牙勾勻木气"));
            this.libs.add(new MetaLibItem(4, 1, "天六中日丑斗内太屯丹井弔支止之午尺火从丰"));
            this.libs.add(new MetaLibItem(4, 2, "尹允王友引尤厄曰毋切予"));
            this.libs.add(new MetaLibItem(4, 3, "仁升氏心什仇手仍少殳戈爪双"));
            this.libs.add(new MetaLibItem(4, 4, "夫匹巴文方互分比勿反歹户毛父幻不仆化云毋壬水片币仆"));
            this.libs.add(new MetaLibItem(5, 0, "古加卉玉甲可功瓜甘丘句外去巧札术本卯未"));
            this.libs.add(new MetaLibItem(5, 1, "代旦只冬立田叮他令召台尼奴冉左丙另叹"));
            this.libs.add(new MetaLibItem(5, 2, "右央由用永以仔瓦幼叶戊"));
            this.libs.add(new MetaLibItem(5, 3, "生史仙占册申仕四世市司出仟且示石失尻刊正主矢"));
            this.libs.add(new MetaLibItem(5, 4, "民弘布平皮丕付玄弁白必目包禾半兄北弗末皿匆母穴疋氷夯"));
            this.libs.add(new MetaLibItem(6, 0, "交旭价吉仰曲共伎伉企各戎机考件朽竹朵匡朱"));
            this.libs.add(new MetaLibItem(6, 1, "亘打老至自尖仲灯匠多耳宅虫同年劣全光弛兆旨肉礼"));
            this.libs.add(new MetaLibItem(6, 2, "亦宇夷因衣有羊伊安圭伍艮地吐圳充羽戌灰优"));
            this.libs.add(new MetaLibItem(6, 3, "字次守如在而西舟再存夙色早式先冲丞吏寺旬死庄此任州臣曳列舌众"));
            this.libs.add(new MetaLibItem(6, 4, "好休伏行仿合刑血名后回亥妃百米冰并牟伐牝兇凶危汀印收向后"));
            this.libs.add(new MetaLibItem(7, 0, "言见見更克角角君吟吾旱改谷究岑我估妓局劫告杆攻却忌困杖杜吴吳杌肖村材杞何杏启"));
            this.libs.add(new MetaLibItem(7, 1, "良甸男佟里牢廷吕呂住志呈佃伶灶体灸利足町李豆吞弄努低彤但妥卵弟佗求杉巫免采卤听"));
            this.libs.add(new MetaLibItem(7, 2, "邑佑完位秃禿役余似延均坑岐冶坍辰坟坊坂牡医"));
            this.libs.add(new MetaLibItem(7, 3, "成助车車作伸身孜佐秀伺坐束宋序赤妆妝私妊壮壯串些吹声忍走辛巡初吢佘系兑酉判系"));
            this.libs.add(new MetaLibItem(7, 4, "希孚孝宏妙伴甫伯兵尾呆步每妣亨贝貝别妤况形忘佛忙含妨否罕坔江戒池汝冷尨妍"));
            this.libs.add(new MetaLibItem(8, 0, "狂抗技快玖佳供佶枝析姑炆炘宜奇欣居岳固其果劻季卷斧昂纠糾京空孤官肯券屈卧臥乖穹祁林杵杻东東竺枝具佼杼松羌析杷杭板杯枚昏忽柿"));
            this.libs.add(new MetaLibItem(8, 1, "两兩肋投侗佻侍侈例岱征妮姐典卓直来來到长長定知忠制争爭冽帖店忝底念的妾弩乳政徂戽折狄決昆易炊咎帑炎旻罔籴昊隶丽炉"));
            this.libs.add(new MetaLibItem(8, 2, "抑依侑往夜委奄昀宛旺于於亚亞盂艾坤岩坦坡坪忧岭"));
            this.libs.add(new MetaLibItem(8, 3, "忱沖抄侃使孥姗姓昇尚宗社受虱事承始昌宙舍青叔昔取刹刷儿兒妻所凭垂刺妬社祀姒金庚刻周卒"));
            this.libs.add(new MetaLibItem(8, 4, "扶沐汾版抛没汶侔佩彼妹武朋孟秉命享和府门門奉明岸沛房放并並味幸咊或帛服氓効弦物虎盲呼非卹阜把昊汽沅岡卦沂汲沚宓沃雨协協汪沁沙沈牧状狀冼庙奋弥怀"));
            this.libs.add(new MetaLibItem(9, 0, "侠俠俄拘拒柑柯科纪紀祈皆军軍彦彥契姱羿禺轨軌建癸冠客玩肝哄架界劲勁姜剋看竿故急姣虹姬斫肖柱柳相柘柴芒柄柏面"));
            this.libs.add(new MetaLibItem(9, 1, "侣侶俊待律沺招抽拐纣紂祉重贞貞炤昭亮耐帝南亭盾段泰奏炭致突订訂怠怒赴柬怨昱勅姞祉映歪炳炫厘类邓"));
            this.libs.add(new MetaLibItem(9, 2, "衩耶押约約怡威勇音要禹囿屋畏姻哀幽宥昶韦韋姚奎垣型盆"));
            this.libs.add(new MetaLibItem(9, 3, "衫信俗促侵咨拆拙秋是首则則哉前省思帅帥宣叙页頁俞春星食性砂削查柔施姿室昨甚牲峙俟昝厍厙枯怪度姹姝"));
            this.libs.add(new MetaLibItem(9, 4, "侯保便係衍後河法泊波泓泯抱拍秒红紅飞飛厚屏香美风風品盈巷盼盃勃眇眉炫昧皇表封负負某扁玫毗甭宦羑哈咸奔狐泔计計炬染治注沼拜泥沮油況沿泳泑泱泉宪"));
            this.libs.add(new MetaLibItem(10, 0, "兼俱纭紜矩倚径徑屐桂格根栓娱娛娟粉家起记記肩芸衿珈括尅恭库庫豈哥拳躬笈氣缺虔贡貢鬼恢骨高耕衾皋奚芝桃桐株芷芯桑栗桌核校桓芬芙芽芳花笏倏样芦"));
            this.libs.add(new MetaLibItem(10, 1, "恬衲冻凍纳納伦倫倒倬值徒秩娣娜娘娌唐朔烈哲庭珍凌玲玳朕晁展晋晉恕料旃岛島特畜耄讨討留恥疾娲旅斗鬥耿晃烟恣秦祝芮夏烜烘虑敌达积烛玺党恋栾"));
            this.libs.add(new MetaLibItem(10, 2, "准容员員祐晏益肴恩殷宴案翁袁烟盎乌烏育個原峡峽峨砧轩軒城埋破砲"));
            this.libs.add(new MetaLibItem(10, 3, "纯純纸紙修倩借徐持娠时時宰孙孫差峻宸财財拾狩指珊师師仓倉钊釗弱素书書租乘射席殉祠座息殊栽神笑讪訕针針闪閃酌索烝隼眞真邛倪刚剛宫宮罡祖晁钉釘祚剖曹斋耸迁蚕"));
            this.libs.add(new MetaLibItem(10, 4, "娑纹紋纺紡纷紛倍倖候俵俸俯倣秘秤娥派洽肥肪恨珀恒圃训訓峰畝效埋畔旁冥併臭蚊豹配釜马馬勉峰航害眠病疲耘耗恤祜洸洨纽紐洲洞洛流洪洋活纱紗洗津洒酒洼洁"));
            this.libs.add(new MetaLibItem(11, 0, "卿救规規顷頃健偶偕御械梧悍悟娸康国國教基崑启啟乾区區坚堅苦珪寄崔晤近贯貫眼毬皎眷研竟翊袈寇圈苟邢梯苕笠笞笛救苡英苑圉彬梢梓桶若许許笙笥苫啟枭梟梗梅茂符苻茅盖"));
            this.libs.add(new MetaLibItem(11, 1, "胎振崙朗侦偵條從埜累将將章翎梨带帶那动動执執犁张張敕斛顶頂鹿梁悌略粒聊豚袋狷软軟聆羚帐帳聃娄婁鹵烷烽戚珣晟袜断离"));
            this.libs.add(new MetaLibItem(11, 2, "浴涎胃偃伟偉悠移婉英胡庸寅唯庵尉欲迎窕眺翌野异異敖域基崎堀堂崩鸟鳥峥培崩运"));
            this.libs.add(new MetaLibItem(11, 3, "袖绅紳组組绍紹细細终終侧側得匙处處焌参參紫专專晨祥船常崧崇趾彩钏唱勘阡商问問寂庶彫旌巢宿悉旋叙敘敍斜爽珠悦率产產祭窓粗羞设設船钗釵责責馗赦雀讼訟紮绝絕胙胥邢钓釣眾紬书書副珮钒剩"));
            this.libs.add(new MetaLibItem(11, 4, "袍胞浦浲海浮斌绊絆培偏徘货貨婚妇婦胖娬背麦麥习習鱼魚匾望望敏凰苗婆务務密閈闬彪败敗晦毫捕晚粕访訪曼邦贩販被麻票班讹訛悖邠毕畢扈浩涓匏浪涕涂浴涎浚消浸浙雪涉習习范还"));
            this.libs.add(new MetaLibItem(12, 0, "雁絖给給绞絞结結络絡草棋椅棍堦迭掘掛球荃皖捲琹稀期景开開皓尧堯蛟敢傑幾嵌贵貴凯凱欺雅割寓筐棨乔喬窘街强款硬邱栖统統栋棟植筌答茶筑筒棠椒绛絳筳庾茹栈棧森茜茸筍策荏茱最桌荀棚棒棉棼筏荒阮筑茧"));
            this.libs.add(new MetaLibItem(12, 1, "盗盜诊診场場琉捷探理琅凉涼程敦婷喨軼贴貼登智轴軸痛劳勞量能单單粧短巽凌淩衕闰轸軫循幅迢就寻尋媛邰屠娲硫炀煬晴晶焦焙惇焱欻证"));
            this.libs.add(new MetaLibItem(12, 2, "詠恶惡围圍为為翔翕蛙黑奠壹贻貽堰越惟勋黄黃砚硯堤堪岚嵐堡费費邮阴阳"));
            this.libs.add(new MetaLibItem(12, 3, "丝絲绒絨钞鈔絢绚註词詞诏詔诉訴授措推琇净淨税稍竦创創须須絮残殘替尊窗疎胜勝兹黍象裁斯视視超然曾殖掌甦贰貳舜甥善喻顺順舒剩盛竣脂情惜散奢枣棗粟述邵丧喪犀钧鈞钦欽割觇覘问問辜钮鈕钝鈍钠鈉接粟童剀剴甯朝堵鈄钭壶壺邹"));
            this.libs.add(new MetaLibItem(12, 4, "闷悶冯馮评評迫排虚防媚发發粥弼賁贲徨喜惠斐閒闵閔帽报報备備蛤买買雄寒云雲富復贺賀普贸貿扉悲唤喚傍脉脈博无無雰傅邯邳邴邶彭猛番淇涯淦混顸頇荆现現淋添淡淘幅淹液涴淑清深淞项項渊淵猎蛮"));
            this.libs.add(new MetaLibItem(13, 0, "琴绢絹经經倾傾楷裙揭暇睽誇勤祺诘詰莞嫁廉献羣舅跪义義感禁解业業鼓极極筠港减減琦琪琨郊窟颂頌愚干幹靴敬畸靳楠莉莨琳莒荻筱椰杨楊预預蛾媵莎莠椿楫榆苋莧莘枫楓楣莆茕煢莽"));
            this.libs.add(new MetaLibItem(13, 1, "粮传傳楠廊提稔稜暖睦煜炼煉脱煖当當鼎跡督塔农農雉殿追琢退电電虞驰馳煎裹顿頓路寗零詹媸禄祿艇照碖郅偻炀煬扬揚旸暘烟煙炜煒琰徭煊焕煥煤煇煌逄毓"));
            this.libs.add(new MetaLibItem(13, 2, "筳傭阿犹猶握稚暗话話衙矮意碗奥雍附琬爱愛裔圆圓爷爺饮飲园園嫈恽惲块塊圣聖碑"));
            this.libs.add(new MetaLibItem(13, 3, "辞送迺绣愉债債催羡捷暄诗詩询詢裕详詳试試荘驯馴伤傷新势勢岁歲歆蜀想斟资資琮琛楚轼軾肆蜃裟载載靖嗣暑装鼠愈剿凖愁酬勣郄禽睢钜钰鈺饬飭铃鈴钲鉦钿鈿邾铅鉛絺触"));
            this.libs.add(new MetaLibItem(13, 4, "补補雹绥綏粳鈵钵鉢琵换換挥揮晖暉湍琶聘颁頒号號瓶郁陂惶湣浑渾会會蜂微妈媽鸠鳩盟饭飯较較熙莫裘港媲贾賈涂塗雷汤湯渡浈湞渭游湖湛湶测測渝湘溆湫渠渻郇孵募"));
            this.libs.add(new MetaLibItem(14, 0, "綺绮纲綱魁紧緊降诰誥诫誡语語郡菊槐侨僑侥僥伪偽瑟斳赫旗箇轻輕嘉箕歌犒肇愿管疑郏郜兢菱构構戬戩榴榔莱菅榕莞荣榮算尝嘗箒粽翠笺箋菜菁菑萌幕梦夢榜裴枪槍"));
            this.libs.add(new MetaLibItem(14, 1, "尽盡寧宁绿綠纶綸绰綽绫綾通连連逐透誌种種郎菱溜嫩嫡对對团團裳奖獎态態端恺愷彰尔爾尘塵畅暢辣獃叹嘆歎领領廖臺台赵趙嫘滕僚摇枪槍榭制製绫綾蜡"));
            this.libs.add(new MetaLibItem(14, 2, "维維诞誕温溫斲瑛玮瑋瑕顼頊與与嫣境翟硕碩墀"));
            this.libs.add(new MetaLibItem(14, 3, "绶綬综綜慈绸綢造速认認诵誦说說诚誠称稱僧僖像衔銜阀閥精聚甄饰飾寿壽誓酸赈賑粹实實瑜瑄瑞署察齐齊狮獅綮慎银銀韶铨銓铜銅瑒玚划劃臧铭銘郝郤"));
            this.libs.add(new MetaLibItem(14, 4, "網网绵綿逢溥诲誨铭銘福僕嫚貌萍窪洼闻聞饲飼飒颯辅輔碧华華饱飽蜜魂凤鳳熊鸣鳴鼻陌宾賓豪阁閣髦熏闽閩舞滑寡源溪灭滅阁閣嘏溶瑚溢沧滄滋滏溲滇郗涤滌"));
            this.libs.add(new MetaLibItem(15, 0, "葵慷慨廣枢樞萼稼俭儉價仪儀鞏课課驾駕毅靠穀郭箴庆慶宽寬娇嬌谊誼颉頡麫麪驹駒概稽葛樟楼樓稻樑箭竖豎蒂稷樣莹瑩樊耦萱槽箱葫葱葆标標模篇筅筅樗贤賢築药"));
            this.libs.add(new MetaLibItem(15, 1, "缎緞缇緹练練董缔締缓緩腰徵彻徹德阵陣瑭刘劉谅諒乐樂调調慮弹彈谈談层層轮輪暟敵论論进進頫蝶瑯除萳摘暂暫驻駐践踐质質寮鲁魯鼐儋厉厲黎褚逯郯歎糊热熱僻"));
            this.libs.add(new MetaLibItem(15, 2, "嫺亿億院阅閱养養逸慰欧歐鞍影頞豌蝴憂蝯葉郵卫衛嶔娴嫻确確逵增墩磋磁磐"));
            this.libs.add(new MetaLibItem(15, 3, "节節绪緒线線锄鋤锈衝陞升婵嬋赏賞审審帜幟锐銳熟瑲玱趣赐数數蚀蝕媭谆諄请請靓靚敷辤驷駟剧劇剑劍肠腸摯挚闾閭缄緘锋鋒铺鋪劈"));
            this.libs.add(new MetaLibItem(15, 4, "编編翩暴範廟魄嬉霈蝦蝠饼餅辉輝慧暮漫摸兴興部滹漠漂满滿墨瞑卖賣辈輩虢醇摩履盘盤赔賠箲蝙赋賦萬汉漢缗緡幣漪浒滸滚涨漲霆滺渔漁演霄渍漬漩震漕褒慕"));
            this.libs.add(new MetaLibItem(16, 0, "遇过過裤褲机機桥橋橘谐諧谚諺颊頰黔圜县縣笃篤器龟龜哙噲蓋蒯蓄蓁麇萤螢蓉颖穎鄂阎閻树樹苍蒼冀亲親整横桦樺义義褰蒲"));
            this.libs.add(new MetaLibItem(16, 1, "道谘諮遂達錄录燐積灯燈燑瑾燉燄璋陵陈陳陶螣谛諦臻琏璉赖賴历曆靛蹄头頭导導歴龙龍卢盧俦儔璃糖鸯鴦都颓頹骆駱陆陸晓曉璇燃炽熾烧燒熹"));
            this.libs.add(new MetaLibItem(16, 2, "遐遊運陰谓謂燕衡鸭鴨餘鸳鴛豫融歙嬴瓯甌郓鄆坛壇壁磨勋勳"));
            this.libs.add(new MetaLibItem(16, 3, "锤錘锥錐锡錫钱錢错錯谕諭縢诸諸辑輯静嫱醒儒蒨侪儕战戰叡雕锦錦钢鋼錡锜锯鋸谒謁谖諼铮錚锭錠撮赪赬穆"));
            this.libs.add(new MetaLibItem(16, 4, "遍熺烨燁潢谋謀陪学學霏奮颔頷缚縛默憲潘蒙鲍鮑潔浇澆溃潰靦腼霍潭潮润潤澄澂霖寰澍霑霓愤憤"));
            this.libs.add(new MetaLibItem(17, 0, "颗谦謙玑璣检檢嶽恳懇擎击擊举舉糠艰艱讲講懋罄鞠觊覬赚賺黚矫矯莲蓮联聯檀蒋蔚营營蔡蔓篷豁蓬"));
            this.libs.add(new MetaLibItem(17, 1, "队隊绩績麋隆赯儡励勵瞳嬭奶瞭辗輾纵縱螳临臨螺擂择擇燧炼煉黛隸襄蒋謄誊灿燦燭燥黏燮繆缪"));
            this.libs.add(new MetaLibItem(17, 2, "優应應远遠壑陽擁拥醖酝婴嬰邬鄔嶺矶磯壕"));
            this.libs.add(new MetaLibItem(17, 3, "操赛賽钟鐘齋聲骏駿聳偿償縻禅禪糟徽瞬缩縮聪聰总總逊遜锹鍬谢謝饯餞鲜鮮蹇鄒隋键鍵锅鍋谿锻鍛镀鍍氈舆輿赜"));
            this.libs.add(new MetaLibItem(17, 4, "鄉鸿鴻繁霞璠璜璟禧賸嫔嬪镁鎂韩韓浓濃潞亵泽澤彌澹霜"));
            this.libs.add(new MetaLibItem(18, 0, "翘翹谨謹绕繞骐騏槛檻搁擱擬璩归歸睑瞼简簡颜顏骑騎鹃鵑黠觐覲魏瞽蕊簪瞿隗鬆获獲鹄鵠萧蕭旧舊"));
            this.libs.add(new MetaLibItem(18, 1, "烬燼禮斷戴適爵焘燾糧瞻转轉职職蟲鲤鯉题題釐曜豐燻"));
            this.libs.add(new MetaLibItem(18, 2, "陨隕醫讴謳鄢壘礎璧"));
            this.libs.add(new MetaLibItem(18, 3, "翼翱雙织織颛顓璨缮繕蝉蟬觞觴锁鎖秽穢鎗謦聂聶环環阙闕镇鎮鎚鎚储儲铠鎧镒鎰镕鎔迟遲"));
            this.libs.add(new MetaLibItem(18, 4, "繐馥谟謨滨濱濮闖闯覆蹒蹣鞭涛濤济濟濯濙湿濕杂雜"));
            this.libs.add(new MetaLibItem(19, 0, "关關麒攀曠鲸鯨遗遺撷願愿蚁蟻蟹繫薊蓟难難签簽繭薛麴薇麓竞競萨薩"));
            this.libs.add(new MetaLibItem(19, 1, "谭譚韬韜離璽辙轍赠贈證际際麗類绎繹譔韲郑鄭鄧蠊庞龐"));
            this.libs.add(new MetaLibItem(19, 2, "嬿稳穩"));
            this.libs.add(new MetaLibItem(19, 3, "选選绣繡遷颠顛赞贊兽獸祷禱锵鏘遵畴疇鹊鵲识識辭绳繩鲭鲰鯫谯譙镜鏡繫链鏈镠鏐鏖镖鏢"));
            this.libs.add(new MetaLibItem(19, 4, "鵰谱譜鹏鵬簿绘繪穫羹霪薄獵靡"));
            this.libs.add(new MetaLibItem(20, 0, "琼瓊议議劝勸继繼觉覺警悬懸舰艦严嚴邀牺犧阚闞郐鄶藏纂篮籃籍筹籌骞騫獻薰麵"));
            this.libs.add(new MetaLibItem(20, 1, "龄齡罗羅腾騰赡贍獭獺阐闡胧朧黨窦竇爐耀宝寶飘飄"));
            this.libs.add(new MetaLibItem(20, 2, "孆耀矿礦砾礫壤"));
            this.libs.add(new MetaLibItem(20, 3, "释釋钟鐘馨繻译譯触觸黥齣锏鐧镪鏹鐔镡镫鐙"));
            this.libs.add(new MetaLibItem(20, 4, "還懷颟顢露"));
            this.libs.add(new MetaLibItem(21, 0, "艺藝顾顧龈齦驱驅饒鷄嚣囂颢顥藤藥莺鶯樱櫻饶饒"));
            this.libs.add(new MetaLibItem(21, 1, "跻躋蠟鳎鰨馔饌缠纏"));
            this.libs.add(new MetaLibItem(21, 2, "趯蠡誉譽跃躍巍"));
            this.libs.add(new MetaLibItem(21, 3, "随隨镌鐫续續铎鐸属屬镰鐮铁鐵鉴鑒"));
            this.libs.add(new MetaLibItem(21, 4, "护護鹤鶴轟轰霹辩辯霸黯飜藩瀾澜灌"));
            this.libs.add(new MetaLibItem(22, 0, "权權龢俨儼笼籠蘆鬻藷蘇苏龚龔"));
            this.libs.add(new MetaLibItem(22, 1, "叠疊读讀摄攝聽躒跞龛龕颤顫赎贖囊览覽"));
            this.libs.add(new MetaLibItem(22, 2, "璎瓔隐隱懿鬻窃巅巔"));
            this.libs.add(new MetaLibItem(22, 3, "衬襯铸鑄鬚癣癬袭襲鑑"));
            this.libs.add(new MetaLibItem(22, 4, "骅驊穰響响鳗鰻欢歡边邊沣灃霽霁灑"));
            this.libs.add(new MetaLibItem(23, 0, "驿驛验驗兰蘭籖鱖鳜鹰鷹"));
            this.libs.add(new MetaLibItem(23, 1, "兰蘭戀麟鳞鱗欒显顯"));
            this.libs.add(new MetaLibItem(23, 2, "缨纓巖鑛矿鑢"));
            this.libs.add(new MetaLibItem(23, 3, "攒攢霉铄鑠"));
            this.libs.add(new MetaLibItem(23, 4, "囏变變黴霉"));
            this.libs.add(new MetaLibItem(24, 0, "赣搅攪醸霭靄"));
            this.libs.add(new MetaLibItem(24, 1, "灵靈雳靂鹭鷺篱籬鱣鳣"));
            this.libs.add(new MetaLibItem(24, 2, "艳艷盐鹽罐"));
            this.libs.add(new MetaLibItem(24, 3, "鑫蠶"));
            this.libs.add(new MetaLibItem(24, 4, "鸂"));
            this.libs.add(new MetaLibItem(25, 0, "观觀缵纘羁羈"));
    
            this.libs.add(new MetaLibItem(25, 2, "叆靉"));
    
            this.libs.add(new MetaLibItem(25, 4, "蠻灏灝酆"));
            this.libs.add(new MetaLibItem(26, 0, ""));
            this.libs.add(new MetaLibItem(26, 1, "逻邏郦酈"));
    
            this.libs.add(new MetaLibItem(26, 3, "骥驥讚赞"));
            this.libs.add(new MetaLibItem(26, 4, "湾灣"));
    
            this.libs.add(new MetaLibItem(27, 1, "骧驤缆纜銮鑾"));
    
            this.libs.add(new MetaLibItem(27, 3, "钻鑽锣鑼"));
            this.libs.add(new MetaLibItem(27, 4, "滦灤"));
            this.libs.add(new MetaLibItem(28, 0, "戆"));
    
        }
    
        public int getStringLibs(char item) {
            for (int i = 0; i < libs.size(); i++) {
                if (libs.get(i).IfStringexist(item)) {
                    return i;
                }
            }
            return -1;
        }
    
        public ArrayList<MetaLibItem> getLibs() {
            return this.libs;
        }
    }
    


    package javaluozhuangtestname;
    
    
    /**汉字五行笔画类
     *
     * @author luozhuang 大师♂罗莊
     */
    public class MetaLibItem {
    
        private int bh;//笔画
        private String findStr;
        private int wx_indx;//五行
    
        /**
         *
         * @param bh 笔画
         * @param wx_indx 五行顺序
         * @param findStr //汉字列
         */
        public MetaLibItem(int bh, int wx_indx, String findStr) {
            this.bh = bh;
            this.wx_indx = wx_indx;
            this.findStr = findStr;
        }
    
        /**
         *
         * @return 获得笔画
         */
        public int getBh() {
            return this.bh;
        }
    
        /**
         * 获得汉字列
         *
         * @return
         */
        public String getFindStr() {
            return this.findStr;
        }
    
        /**
         * 获得汉字是否存在列表中
         *
         * @return
         */
        public Boolean IfStringexist(String findStr) {
            if (this.findStr.indexOf(findStr) == -1) {
                return false;
            }
            return true;
        }
        
          /**
         * 获得汉字是否存在列表中
         *
         * @return
         */
        public Boolean IfStringexist(char findStr) {
            if (this.findStr.indexOf(findStr) == -1) {
                return false;
            }
            return true;
        }
    
        /**
         * 获得五行顺序
         *
         * @return
         */
        public int getWx_indx() {
            return this.wx_indx;
        }
    }
    



    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package javaluozhuangtestname;
    
    import java.util.ArrayList;
    
    /**取汉字五行笔画演示
     *
     * @author luozhuang 大师♂罗莊
     */
    public class Luozhuangnamewuxing {
    
       public BhWxLib myBhWxLib = new BhWxLib();
    
        /**
         * 取出名字每个字在库中位置
         *
         * @param name
         * @return
         */
        public int[] getnameliborder(String name) {
            char[] namechararray = name.toCharArray();
            int[] returnarray = new int[namechararray.length];
            for (int i = 0; i < namechararray.length; i++) {
                int order = getnameliborder(namechararray[i]);
                returnarray[i] = order;
            }
            return returnarray;
    
        }
    
        /**
         * 取出字在库中位置
         *
         * @param name
         * @return
         */
        public int getnameliborder(char name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = myBhWxLib.getStringLibs(name);
    
            return returnorder;
    
        }
    
        /**
         * 取出名字笔画
         *
         * @param name
         * @return
         */
        public int getnameBH(int name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = libs.get(name).getBh();
    
            return returnorder;
    
        }
    
        /**
         * 取出名字五行
         *
         * @param name
         * @return
         */
        public int getnameWX(int name) {
            ArrayList<MetaLibItem> libs = myBhWxLib.getLibs();
    
            int returnorder = -1;
    
            returnorder = libs.get(name).getWx_indx();
    
            return returnorder;
    
        }
    
        /**
         * 取出名字笔画
         *
         * @param name
         * @return
         */
        public int[] getnameBH(int name[]) {
            int[] returnarray = new int[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameBH(name[i]);
    
            }
            return returnarray;
        }
    
        /**
         * 取出名字五行
         *
         * @param name
         * @return
         */
        public int[] getnameWX(int name[]) {
            int[] returnarray = new int[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameWX(name[i]);
    
            }
            return returnarray;
    
        }
    
        /**
         * 取出名字五行汉字
         *
         * @param name
         * @return
         */
        public String[] getnameWXarray(int name[]) {
            String[] returnarray = new String[name.length];
            for (int i = 0; i < name.length; i++) {
                returnarray[i] = getnameWXnaying(name[i]);
    
            }
            return returnarray;
    
        }
    
        /**
         * 取出名字五行汉字
         *
         * @param name
         * @return
         */
        public String getnameWXnaying(int name) {
            switch (name) {
                default:
                    return "无";
                case 0:
    
                    return "木";
    
                case 1:
                    return "火";
    
                case 2:
                    return "土";
    
                case 3:
                    return "金";
    
                case 4:
                    return "水";
            }
    
        }
    
        public String pringst(int[] res) {
            StringBuffer result = new StringBuffer();
            for (int i = 0; i < res.length; i++) {
    
    
                result.append(res[i]);
                result.append("   ");
            }
    
            result.append("\n");
            System.out.println(result);
            return result.toString();
        }
    
        public String pringst(String[] res) {
            StringBuffer result = new StringBuffer();
            for (int i = 0; i < res.length; i++) {
    
    
                result.append(res[i]);
                result.append("   ");
            }
    
            result.append("\n");
            System.out.println(result);
            return result.toString();
        }
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            System.out.println("五行简介:\n"
                    + "\n"
                    + "中国五行学说认为宇宙万物,都由金木水火土五种基本物质的运行和变化所构成,所有事物都是随着这五个要素的盛衰,而使得大自然产生变化,不但影响到人的命运,同时也使宇宙万物循环不已。\n"
                    + "\n"
                    + "其中:\n"
                    + "“木曰曲直”,意思是木具有生长、升发的特性;\n"
                    + "“火曰炎上”,是火具有发热、向上的特性;\n"
                    + "“土爰稼墙”,是指土具有种植庄稼,生化万物的特性;\n"
                    + "“金曰从革”,是金具有肃杀、变革的特性;\n"
                    + "“水曰润下”,是水具有滋润、向下的特性\n"
                    + "五行相生相克\n"
                    + "\n"
                    + "五行相生:金生水,水生木,木生火,火生土,土生金。\n"
                    + "\n"
                    + "五行相克:金克木,木克土,土克水,水克火,火克金。 ");
            System.out.println("中国汉字有那五行?\n"
                    + "根据中国五行理论,汉字分为金、木、水、火、土共五种五行属性,每个汉字对应一种五行属性。");
            Luozhuangnamewuxing my = new Luozhuangnamewuxing();
            int[] temp = my.getnameliborder("大师罗庄");
            int[] wuxing = my.getnameWX(temp);
            int[] BH = my.getnameBH(temp);
            System.out.println("大师罗庄的五行");
            my.pringst(my.getnameWXarray(wuxing));
            System.out.println("大师罗庄的笔画");
            my.pringst(BH);
    
    
        }
    }
    


    展开全文
  • 计算生辰八字五行属性的算法

    万次阅读 热门讨论 2013-01-26 14:02:13
    我调研了几种起名字的思路,最终确定按照五行阴阳平衡的道理来确定生辰八字的五行属性,然后选取恰当的。   说明:本文描述的算法是根据Internet上的资料整理而得到,并非我原创,但个别地方我做过修改。其中...
  • 1、子查询: 为什么要子查询? 现有一数据表如下: 根据之前的知识我们可以查出每门科目的最高分,但是要想查出取得最高分的学生信息就做不到了。这时就需要用到子查询来取得完整的信息。 什么是子查询?子...
  • 的英语单词

    万次阅读 2014-09-29 17:55:13
    abide v.(by)坚持,遵守 about ad. 在周围,附近,到处;大约,差不多 prep. 关于,对于;在……周围,在……附近 a.... above prep. 在……上面,超过,高于a....abuse v./n....actor n....acute a....adapt v.(to)(使)适应
  • 曾想使用STM32+LwIP实现一个yeelink应用,...提到LwIP自然想到套接,为了降低学习难度便从windwos平台的套接开始入手。本文使用windows平台的套接实现向yeelink平台请求开关量状态,然后把HTTP响应打印至控制台。
  • MySQL 数百万数据条件查询优化

    千次阅读 2019-05-08 10:36:16
    最近在公司实习做到一个项目,要在一个包含数百万数据表(如果以日期来分类,大概是同一天里又十多万数据)之中查询出日期在某个日期查询出与之相邻日期的那些的结果,其中只有日期包含索引,然后还有多个条件...
  • 查询数据指从数据库中获取所需要的数据。查询数据是数据库操作中...1、查询语句的基本语法2、在单表上查询数据3、使用聚合函数查询数据4、多表上联合查询5、子查询6、合并查询结果7、为表和字段取别名8、使用正则表达式
  • 尾号限一直是一个非常态的交通管制方式,在APP中集成尾号限行查询,消息推送机主今天是否限是非常不错的。此尾号限API
  • mysql常用语句:DQL中的查询操作

    千次阅读 2021-03-09 20:21:29
    1 查询时间间隔段内的记录 表结构如下 查询在2025年内投递简历的岗位和数量,并且按数量降序排序。 select job, sum(num) as cnt from ...date那一还可以写作where date like "2025%"。 2 多个条件中使用in关键
  • php 中 查询数据前

    千次阅读 2012-11-26 10:41:41
    $test["list"]=$db->getList('...附:各种数据库查询前几条数据的方法 sql在不同数据库查询前几条数据 关键字: sql 前几条结果  sql在不同数据库查询前几条数据  1. ORACLE   SELECT * FROM TABLE1 WHERE ROWN
  • mysql查询所有分类的前5结果

    千次阅读 2017-09-30 21:30:41
    项目遇到个问题,我电商网站,商品有很多分类,我想取出每个分类下面在架的前条数据,并且按照sort升序排列,应该怎么做呢? 数据结构如下:DROP TABLE IF EXISTS `products`; CREATE TABLE `products` ( `id` ...
  • MyBatis框架核心之()注解使用resultMap及多表查询

    万次阅读 多人点赞 2017-12-12 20:53:41
    、resultMap与多表查询(注解)   传统的mapper.xml+接口使用接口映射相对较麻烦 所以我们可以使用注解来简化开发   支持的注解有以下: MyBatis可以利用SQL映射文件来配置,也可以利用Annotation来设置。...
  • 由于业务逻辑的差异,CURD操作往往不是那么简单,尤其是复杂的业务逻辑...ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作,查询条件可以用于读取、更新和删除等操作,主要涉及到where方法等连贯操作
  • RDB文件结构 一个完整 RDB 文件所包含的各个部分: REDIS,长度5字节, 保存着 "REDIS" 个字符。 通过这个字符, 可以在载入文件时, 快速检查载入文件是否 RDB 文件。 db_version ,长度 4 字节, 它的值...
  • Mysql查询-表数据的查询

    千次阅读 多人点赞 2019-10-11 22:05:25
    条件查询2.1比较运算符2.2逻辑运算符2.3模糊查询2.4 范围查询3 排序4 聚合函数5 分组6 分页7 连接查询8 自关联9 子查询 0.数据的准备 创建一个数据库 create database python_test charset=utf8; 使用一个数据库...
  • 手把手教你用Java设计并实现一个城市公交查询系统

    千次阅读 多人点赞 2020-12-19 10:11:33
    为了使得我国公交乘客出行及查询有关信息更方便,本文运用JAVA语言技术,Jsp技术,Mysql数据库开发了B/S结构的城市公交查询系统。 该系统顺应了时代发展且具有以下优点:首先,方便乘客的出行,乘客不用询问站牌工作...
  • 如何优化MySQL千万级大表,我写了6000的解读

    万次阅读 多人点赞 2019-10-21 20:03:03
    万用户,那么这些用户的信息在表中都有相应的一数据记录,随着业务的增长,这个量级相对是比较稳定的。 3)  数据量为千万级,不应该有这么多的数据 这种情况是我们被动发现的居多,通常发现的时候已经晚了,比如...
  • Python黑帽第二篇文章将分享Python网络攻防基础知识,看看Python能做什么,以及正则表达式、网络爬虫和套接通信入门基础。本文参考了i春秋ADO老师的课程内容,这里真心推荐大家去学习ichunqiu的课程,同时也结合...
  • Python实现天气查询功能(外加Excel技巧)

    万次阅读 多人点赞 2019-10-16 10:31:59
    查询其它城市只需要把城市代码修改成其它城市的就可以了。 因为这个API的访问只能通过城市代码,在这方面还是有点麻烦的,不过我把城市代码整理出了一个json文件,稍后会为大家讲解这个过程。 二、返回数据 ...
  • 央行数字货币(数字人民币)DCEP

    千次阅读 2020-11-09 10:45:23
    支付清算系统重平衡 中国人民银行有大支付清算系统 大额实时支付系统(HVPS)能够为银行业金融机构和金融市场提供快速、高效、安全、可靠的清算服务,有力支持了人民币跨境支付业务,实现了跨资金清算零在途。...
  • MYSQL(简单查询,单行查询,多行查询

    万次阅读 多人点赞 2018-09-27 08:51:39
    一、简单查询 1.数据查询  SELECT colName1,colName2,colName3,.. FROM tName [约束]  SELECT 选择查询列表 FROM 提供数据源(表、视图或者其他数据源)  //查询所有的列,显示顺序和创建表中的顺序一致 ...
  • 前文分享了Wireshark抓包原理知识,并结合NetworkMiner工具抓取了图像资源和用户名密码,本文将讲解Python网络攻防相关基础知识,包括正则表达式、Web编程和套接通信。本文参考了爱春秋ADO老师的课程内容,这里也...
  • 浮点数类型和定点数类型九、MySQL数据表简单查询1.简单查询概述2.查询所有字段(方法不唯一只是举例)3.查询指定字段(sid、sname)4.常数的查询5.从查询结果中过滤重复数据6.算术运算符(举例加运算符)十、函数1....
  • Sql常用查询操作

    万次阅读 多人点赞 2018-09-18 00:40:28
    1.查询语句模板: 需要注意的是:  FROM 才是 SQL 语句执行的第一步,并非 SELECT 。 SELETC 是在WHERE语句执行之后执行的,所以不能再WHERE语句后使用SELECT中设置的别名 WHERE是对分组前进行的过滤,...
  • SQL-小白最佳入门sql查询

    万次阅读 多人点赞 2019-11-08 19:55:23
    不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
  • 最近项目一直在用jpa开发,总体来说jpa还是很方便的,较之于mybatis,尤其是做一些简单查询的时候。如果你想查某个表,只需写个entity,写个repository,...这里的多条件我是指查询条件的个数不固定,比如最多有个...
  • 数据库限制查询结果的条数

    千次阅读 2019-03-25 22:18:03
    比如,查询前三条记录,又或者查询中间条记录等等;下面我们就各种数据库限制结果集条数进行总结一番: 1、MySQL MySQL数据库中提供了Limit关键字用来限制返回的结果集,语法为“Limit 需要返回记录的首行行数,要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 158,108
精华内容 63,243
关键字:

五行字查询