java学习基础教程与理解( 二维数组的算法 以及应用:算十二长生的案例)

 二维数组可用于横纵表格的编程对照

例如String [][]strs={{j0,j1,j2},{j0,j1,j2}}

                                  i0            i1

实际:String [][]strs={{0,1,2},{10,20,30}}

[0][2]对应下标就是1

i是横坐下标,j是纵下标,代码举例说明

 public static  String[] tianGan = {"甲", "丙", "戊", "庚", "壬", "乙", "丁", "己", "辛", "癸"};
    public static  String[] diZhi = {"生", "沐", "冠", "冠", "旺", "衰", "病", "死", "墓", "绝", "胎", "养"};


    public static  String[][] changSheng = {
            {"亥", "寅", "寅", "巳", "申", "午", "酉", "酉", "子", "卯"},
            {"子", "卯", "卯", "午", "酉", "巳", "申", "申", "亥", "寅"},
            {"丑", "辰", "辰", "未", "戌", "辰", "未", "未", "戌", "丑"},
            {"寅", "巳", "巳", "申", "亥", "卯", "午", "午", "酉", "子"},
            {"卯", "午", "午", "酉", "子", "寅", "巳", "巳", "申", "亥"},
            {"辰", "未", "未", "戌", "丑", "丑", "辰", "辰", "未", "戌"},
            {"巳", "申", "申", "亥", "寅", "子", "卯", "卯", "午", "酉"},
            {"午", "酉", "酉", "子", "卯", "亥", "寅", "寅", "巳", "申"},
            {"未", "戌", "戌", "丑", "辰", "戌", "丑", "丑", "辰", "未"},
            {"申", "亥", "亥", "寅", "巳", "酉", "子", "子", "卯", "午"},
            {"酉", "子", "子", "卯", "午", "申", "亥", "亥", "寅", "巳"},
            {"戌", "丑", "丑", "辰", "未", "未", "戌", "戌", "丑", "辰"}
    };




    public static String getChangSheng(String tian, String zhi) {

        int j_dex= Arrays.asList(tianGan).indexOf(tian);

        if (j_dex!=-1)

        for (int i = 0; i < changSheng.length; i++) {
            for (int j = 0; j < changSheng[j].length; j++) {

              if (changSheng[i][j].equals(zhi))if (j==j_dex)return diZhi[ i];
                }
        }


        return "";


    }

参考资料:

状态

长生

沐浴

冠带

临官

帝旺

 

起甲乙丙丁戊己庚辛壬癸
子沐病胎绝胎绝死生旺官

甲母乙病
丙戊胎丁己绝
庚死辛生
壬旺癸官

口诀:家募一兵,并武台,丁继决,根死新生,仍旺贵官

你可能感兴趣的:(java,算法)