首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

帮小弟我看看 这个递归如何了

2012-03-24 
帮我看看 这个递归怎么了?在一张机构表里 对于一个机构来说 有上级机构 下级机构 还有下下级机构 (多级机

帮我看看 这个递归怎么了?
在一张机构表里 对于一个机构来说 有上级机构 下级机构 还有下下级机构 (多级机构) 
现在用这个递归查找出一个机构的所有下级机构 以及下下级机构 (级别不定)

在网页中 这个递归第一次查找出来的是对的 等过一段时间来查 就会重复查找 再过一段时间来 又重复查找 但是数据都是有时候多了 有时候少了 就算是从新打开网页都没用 只有重新启动服务器 才能对 .. 

我使用的框架是 ExtJS + EJB3.0 + Struts1.2

如果有答案的话 还有分的 .. 

Java code
    //查找下级机构的递归    List<Sysjgxxb> jgxxList3 = new ArrayList<Sysjgxxb>();    public List<Sysjgxxb> findXjjg(List<Sysjgxxb> jgxxList) {        String jgxxSql = null;        List<Sysjgxxb> jgxxList1 = new ArrayList<Sysjgxxb>();        List<Sysjgxxb> jgxxList2 = new ArrayList<Sysjgxxb>();        try {            for (int jgxxi=0; jgxxi<jgxxList.size(); jgxxi++) {                //设置SQL语句                jgxxSql = "SELECT jgxx FROM Sysjgxxb jgxx WHERE jgxx.上级机构 = '" + jgxxList.get(jgxxi).机构码()                    + "' AND jgxx.机构码 != '" + jgxxList.get(jgxxi).机构码()                    + "'";                jgxxList1 = 按照SQL语句查询出符合条件的机构信息;                if (jgxxList1 != null && jgxxList.size() > 0) {                    for ( int jgxxj=0; jgxxj<jgxxList1.size(); jgxxj++) {                        jgxxList2.add(jgxxList1.get(jgxxj));                    }                    for ( int jgxxk=0; jgxxk<jgxxList2.size(); jgxxk++) {                        jgxxList3.add(jgxxList2.get(jgxxk));                    }                } else if (jgxxList1 == null && jgxxList2.isEmpty()) {                    continue;                }            }            if(jgxxList2 != null && jgxxList2.size() > 0) {                findXjjg(jgxxList2);            }        } catch (Exception e) {            e.printStackTrace();        }        if (jgxxList3 != null && jgxxList3.size() > 0) {            return jgxxList3;        }        return null;    }


Java code
    //这是调用那个递归最后返回到页面的方法    sysjgxxbList = 这是一个需要得到下机机构码的机构信息    List<Sysjgxxb> resultList = findXjjg(sysjgxxbList);    if(resultList != null && resultList.size() > 0) {        for ( int i=0; i<resultList.size(); i++) {            sysjgxxbList.add(resultList.get(i));        }    }


[解决办法]
结贴率 高啊 不错 。~
[解决办法]
代码很多

热点排行