【问题标题】:Console to jTextArea1 issue. (voids!?)jTextArea1 问题的控制台。 (空隙!?)
【发布时间】:2013-10-07 13:44:27
【问题描述】:
class TreeTraversal
{
  public void main(String[] args) throws IOException
  {
    System.out.println("Displaying the tree");
    theTree.displayTree();

/** 你如何打印这些东西?例如 theTree.preOrder(theTree.returnRoot());进入 jTextArea1 ? */

    StringBuilder order1 = new StringBuilder("Inorder traversal: ");
    jTextArea1.append("\n"+order1);
    //System.out.println("Inorder traversal");
    theTree.inOrder(theTree.returnRoot());
    //System.out.println(" ");

    StringBuilder order2 = new StringBuilder("Preorder traversal: ");
    jTextArea1.append("\n"+order2);
    //System.out.println("Preorder traversal");
    theTree.preOrder(theTree.returnRoot());
    //System.out.println(" ");

    StringBuilder order3 = new StringBuilder("Postorder traversal: ");
    jTextArea1.append("\n"+order3);
    //System.out.println("Postorder traversal");
    theTree.postOrder(theTree.returnRoot());
    //System.out.println(" ");
  }
}

【问题讨论】:

    标签: java user-interface console void


    【解决方案1】:

    访问者模式适用于遍历对象结构。要了解访客,请参阅http://www.oodesign.com/visitor-pattern.html。如果这对你来说太复杂了,这里是 java http://en.wikipedia.org/wiki/Visitor_pattern 中更容易理解的访问者@

    您必须创建打印当前访问节点的访问者。

    要更改遍历顺序,您可以使用现有的 (postOrder,preOrder,inOrder) 或者您可以使用访问者方法返回一些值。值应该意味着 noIteration/inOrder/preOrder/postOrder。 这样做的好处是您可以在任何节点停止/更改遍历。

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      相关资源
      最近更新 更多