民间中医网

 找回密码
 立刻加入
查看: 3222|回复: 9

针灸开源软件建议

[复制链接]
发表于 2006/3/10 18:37:42 | 显示全部楼层 |阅读模式
建议对针灸建立一个数据模型。
我的附件为Najia未完成的代码.

欢迎提供文字伪代码
import java.util.Date;
  
public class Najia {
    public static String tiangan[] =
    { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };
    public static String dizhi[] =
    { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戍", "亥" };
    public static String najia[] =
    { "甲子", "乙丑", "丙寅", "丁卯", "戊辰", "己巳", "庚午", "辛未", "壬申", "癸酉", "甲戍", "乙亥",
      "丙子", "丁丑", "戊寅", "己卯", "庚辰", "辛巳", "壬午", "癸未", "甲申", "乙酉", "丙戍", "丁亥",
      "戊子", "己丑", "庚寅", "辛卯", "壬辰", "癸巳", "甲午", "乙未", "丙申", "丁酉", "戊戍", "己亥",
      "庚子", "辛丑", "壬寅", "癸卯", "甲辰", "乙巳", "丙午", "丁未", "戊申", "己酉", "庚戍", "辛亥",
      "壬子", "癸丑", "甲寅", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戍", "癸亥" };

    public static int yjiazhi = 1984;

    public Najia() {
    }

    //打印六十甲子代码

    public static void main(String[] args) {
        printNajia();
        System.out.println("癸亥的下一个是" + getNextJiaZhi("癸亥"));
        System.out.println("\n2005年的干支是: " + getYearNajia(2005));
        System.out.println("\n1976年的干支是: " + najia[getYearNajia(1976)]);
        System.out.println("\n1984年的干支是: " + najia[getYearNajia(1984)]);
    }

    public static void printNajia() {
        int i = 0, x = 0, y = 0;
        StringBuffer temp = new StringBuffer();
        System.out.print("\n");
        for (i = 0; i < 60; i++) {
            if ((i % 10) == 0)
                temp.append("\n");
            if (x == 10)
                x = 0;
            if (y == 12)
                y = 0;
            temp.append(tiangan[x]).append(dizhi[y]).append("  ");
            //if((i%10)==0)System.out.print("\n");
            //System.out.print("\""+temp+"\",");

            x++;
            y++;
        }
        temp.append("\n");
        System.out.print(temp.toString());
    }


    public static String getNextJiaZhi(String jz) {
        int i = 0;
        if (jz != null && jz.length() > 0) {
            while (i < 60) {
                if (najia[i].equals(jz)) {
                    if (i == 59)
                        return najia[0];
                    return najia[i + 1];
                }
                i++;
            }
        }
        return null;
    }

    public static String[] getNajia() {
        return najia;
    }

    public static String[] getTianGan() {
        return tiangan;
    }

    public static String[] getDiZhi() {

        return dizhi;

    }

    public static String timeNajia(Date date) {
        return null;
    }

    public static int getYearNajia(int year) {
        int idx = 0;
        //idx=Math.abs(yjiazhi-year)% 60;
        if (year == yjiazhi) {
            return 0;
        }
        if (year > yjiazhi) {
            idx = (year - yjiazhi);
        } else {
            idx = (yjiazhi - year);
        }
        if(idx>60) {idx=idx%60;}
        idx = 60 - idx;
        return idx;
    }
   
    public static int getMonthNajia(int year,int month){
        
        
        return 0;
    }

}

Najia.java.txt

3.13 KB, 下载次数: 31

发表于 2006/3/11 20:19:14 | 显示全部楼层
你的目的是什么?针灸软件能为针灸实践提供什么?望仔细告之。
 楼主| 发表于 2006/3/14 10:32:46 | 显示全部楼层
把子午流注写进去,做成一个JAVABEAN谁想用这个功能把JAVABEAN放进去就行了。
发表于 2006/3/31 16:20:12 | 显示全部楼层
我原先也研究过子午流注,天干、地支也就六十为一个周期,还需要查表,不能直接计算,我改用周期函数后360度的分度值比天干、地支法精度提高6倍,可以用计算机直接计算。但我最后还是放弃了子午流注,子午流注需要侯气,需要等一个最佳时间,觉得不实用。因为当你明白什么是经络时,只要你有流体力学的知识,你就会明白接下来该怎么做。
发表于 2006/5/7 22:09:07 | 显示全部楼层

坚决支持

坚决支持
发表于 2006/6/30 22:59:09 | 显示全部楼层
我曾经见过不知是什么人搞的子午流注查穴开启软件,可惜当时没下载。
发表于 2006/7/29 15:07:10 | 显示全部楼层
???
不懂…………
怎么用啊?
发表于 2006/7/29 22:31:40 | 显示全部楼层

阿弥陀佛!

六十六穴子午流注取穴我有一表格,一看就明白,可我对电脑不熟练,发不上来。

一念善心起,上天功德已;一念恶念起,地狱火成衣。
发表于 2006/10/2 19:51:51 | 显示全部楼层
不懂呀 我要从看开始学起
发表于 2006/10/22 11:22:31 | 显示全部楼层

坚决支持

坚决支持坚决支持
您需要登录后才可以回帖 登录 | 立刻加入

本版积分规则

小黑屋|手机版|民间中医网论坛 ( 黔ICP备19001372号 )

GMT+8, 2024/11/20 19:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表