大家好  我是新手 问题实在是解决不了 听说这人高手多 大家帮帮忙 不然就崩溃了 下面的代码是生成树的 可是我看不懂
 public void d(TreeNode treenode)
    {
        if(!treenode.isLeaf())
        {
            for(TreeNode treenode1 = treenode.getLeftMostChild(); treenode1 != null; treenode1 = treenode.getRightSibling())
                d(treenode1);这个是干什么用的
    }
          dobject(treenode);这个是干嘛的
    }
  public void dobject(Object obj)
    {
        TreeNode treenode = (TreeNode)obj;
        DepartToJsp a1 = (DepartToJsp)treenode.getElement();
        a1._mthnew(bG[a1._mthint()]);
        a1._mthelse(bP[a1._mthint()] * 15);
        bw.append(a1.a(bO, bm, -bl * bR, bA, bE, bh, bi, bS, bl));
    }

解决方案 »

  1.   

    TreeNode是自定义的一个接口
    public interface TreeNode
    {
     public abstract Object getElement();
    public abstract void setElement(Object obj);
    public abstract boolean isLeaf();
    public abstract TreeNode getLeftMostChild();
    public abstract TreeNode getRightSibling();
    public abstract TreeNode getRightMostChild();
     public abstract void insertNext(Object obj);
    public abstract void removeNext();
    public abstract int getChildLength();
    }
    DepartToJsp 也是自定义的一个类用来生成树状图片的
      

  2.   


    这个貌似也不难理解。
    首先搞清楚dobject(Object obj)是干什么的,虽然你的代码不是很全,但是应该可以猜测是用来记录节点信息的一个函数。
    如果你是要输出树状图形的话,估计要记录一些和输出图形相关的一些信息。d(TreeNode treenode)这个函数,就是遍历treenode的所有节点,包括所有的字节点。同时在遍历节点的时候调用了dobject,
    从而记录(生成)了所有要输出节点的信息。大概应该是这个意思,应该不是很难。仔细看看。