计算命卦:python转换java代码

该代码示例展示了如何使用Python和Java进行三元九运九星命卦的快速计算,基于古老的算命法则和后天八卦。用户输入年份后,程序会根据天干地支和性别确定男女的命卦。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python代码 :三元九运九星命卦速算

#三元九运九星命卦速算

#古代人没有计算器,只能用翻山掌或者野马跳涧法推算,现在有计算器可以秒算命卦。

#上元甲子一宫连,中元起巽下兑间;上五中二下八女,男逆女顺起根源。

#按后天八卦分九个宫:1、北宫:坎(水);2、西南宫:坤(土);3、东宫:震(木);4、东南宫:巽(木);
#5、中宫:男坤女艮(土);6、西北宫:乾(金);7、西宫:兑(金);8、东北宫:艮(土);9、南宫:离(火)

#天干为甲、乙、丙、丁、戊、己、庚、辛、壬、癸
tg={4:'甲',5:'乙',6:'丙',7:'丁',8:'戊',9:'己',0:'庚',1:'辛',2:'壬',3:'癸'}
#地支为子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
dz={4:'子',5:'丑',6:'寅',7:'卯',8:'辰',9:'巳',10:'午',11:'未',0:'申',1:'酉',2:'戌',3:'亥'}
#男命
nan={1:'坎水',0:'坤土',8:'震木',7:'巽木',6:'坤土',5:'乾金',4:'兑金',3:'艮土',2:'离火'}
#女命
nv={6:'坎水',7:'坤土',8:'震木',0:'巽木',1:'艮土',2:'乾金',3:'兑金',4:'艮土',5:'离火'}

#0000年是庚申年,男命是坤土年,女命是巽木年,用本年或者出生年除以9,余数对应的上表就是年命。
print('请输入年份')
year=int(input())
print(str(year)+'年为'+tg[year%10]+dz[year%12]+'年,男命为'+nan[year%9]+',女命为'+nv[year%9])

 转换Java代码:
 

import java.util.Scanner;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 定义天干、地支、男命和女命的映射表
        HashMap<Integer, String> tg = new HashMap<Integer, String>() {{
            put(4, "甲");
            put(5, "乙");
            put(6, "丙");
            put(7, "丁");
            put(8, "戊");
            put(9, "己");
            put(0, "庚");
            put(1, "辛");
            put(2, "壬");
            put(3, "癸");
        }};
        HashMap<Integer, String> dz = new HashMap<Integer, String>() {{
            put(4, "子");
            put(5, "丑");
            put(6, "寅");
            put(7, "卯");
            put(8, "辰");
            put(9, "巳");
            put(10, "午");
            put(11, "未");
            put(0, "申");
            put(1, "酉");
            put(2, "戌");
            put(3, "亥");
        }};
        HashMap<Integer, String> nan = new HashMap<Integer, String>() {{
            put(1, "坎水");
            put(0, "坤土");
            put(8, "震木");
            put(7, "巽木");
            put(6, "坤土");
            put(5, "乾金");
            put(4, "兑金");
            put(3, "艮土");
            put(2, "离火");
        }};
        HashMap<Integer, String> nv = new HashMap<Integer, String>() {{
            put(6, "坎水");
            put(7, "坤土");
            put(8, "震木");
            put(0, "巽木");
            put(1, "艮土");
            put(2, "乾金");
            put(3, "兑金");
            put(4, "艮土");
            put(5, "离火");
        }};
        
        System.out.println("请输入年份:");
        int year = scanner.nextInt();
        System.out.printf("%d年为%s%s年,男命为%s,女命为%s",
                          year, tg.get(year % 10), dz.get(year % 12),
                          nan.get(year % 9), nv.get(year % 9));
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值