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