二维数组可用于横纵表格的编程对照
例如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 "";
}
参考资料:
状态 |
甲 |
丙 |
戊 |
庚 |
壬 |
乙 |
丁 |
己 |
辛 |
癸 |
长生 |
亥 |
寅 |
寅 |
巳 |
申 |
午 |
酉 |
酉 |
子 |
卯 |
沐浴 |
子 |
卯 |
卯 |
午 |
酉 |
巳 |
申 |
申 |
亥 |
寅 |
冠带 |
丑 |
辰 |
辰 |
未 |
戌 |
辰 |
未 |
未 |
戌 |
丑 |
临官 |
寅 |
巳 |
巳 |
申 |
亥 |
卯 |
午 |
午 |
酉 |
子 |
帝旺 |
卯 |
午 |
午 |
酉 |
子 |
寅 |
巳 |
巳 |
申 |
亥 |
衰 |
辰 |
未 |
未 |
戌 |
丑 |
丑 |
辰 |
辰 |
未 |
戌 |
病 |
巳 |
申 |
申 |
亥 |
寅 |
子 |
卯 |
卯 |
午 |
酉 |
死 |
午 |
酉 |
酉 |
子 |
卯 |
亥 |
寅 |
寅 |
巳 |
申 |
墓 |
未 |
戌 |
戌 |
丑 |
辰 |
戌 |
丑 |
丑 |
辰 |
未 |
绝 |
申 |
亥 |
亥 |
寅 |
巳 |
酉 |
子 |
子 |
卯 |
午 |
胎 |
酉 |
子 |
子 |
卯 |
午 |
申 |
亥 |
亥 |
寅 |
巳 |
养 |
戌 |
丑 |
丑 |
辰 |
未 |
未 |
戌 |
戌 |
丑 |
辰 |
起甲乙丙丁戊己庚辛壬癸
子沐病胎绝胎绝死生旺官
甲母乙病
丙戊胎丁己绝
庚死辛生
壬旺癸官
口诀:家募一兵,并武台,丁继决,根死新生,仍旺贵官