Java 在JTextArea的多行上显示AVL树遍历的输出

Java 在JTextArea的多行上显示AVL树遍历的输出,java,tree-traversal,Java,Tree Traversal,我试图在JTextArea中的多行上显示AVL树的按序、前序和后序遍历的输出,最好每行显示10个数字。我在JTextArea中尝试了这个方法,在JTextArea参数JTextArea5,10中添加了5和10,但它不起作用。如果是这样,如何更改提供的“for”循环来实现这一点?谢谢您的帮助。我想您需要一个高效的字符串聚合对象: for(int i=0; i < list.length; i++) { System.out.printf(" %2d",list[i]); // For

我试图在JTextArea中的多行上显示AVL树的按序、前序和后序遍历的输出,最好每行显示10个数字。我在JTextArea中尝试了这个方法,在JTextArea参数JTextArea5,10中添加了5和10,但它不起作用。如果是这样,如何更改提供的“for”循环来实现这一点?谢谢您的帮助。

我想您需要一个高效的字符串聚合对象:

for(int i=0; i < list.length; i++)
{
    System.out.printf(" %2d",list[i]); // Formats right justified

    if ((i+1)%10==0)
    {
        System.out.println(); // Adds a new line after 10 values
    }
}
String+String+String..被认为是无效的,但也是可能的

在循环中,您填充sb:


对不起,朋友,请问JTextArea在哪里?您正在打印到System.out。这可能是主要问题吗?@xerx593这里是JTextArea:inorderTextArea=newjtextarea5,10;。我使用的是Java编程语言,不能使用“append”。不管我最后的评论如何,我可以在StringBuilder类中使用“append”。非常感谢。如何使用“myJTextArea.setTextsb.toString;”要使用inorderTextArea.setTextAVLTree.inorderTraversal;?我尝试了inorderTextArea.setTextsb.toStringAVLTree.inorderTraversal;但是我得到了一个编译错误。假设myJTextArea==yourTextArea:-三个中的任何一个!?,并考虑退货;在每个xOrderTraversal中作为最后一个/return语句。
StringBuilder sb = new StringBuilder();//before your loop
for (int i = 0; i < list.length; i++) {
    sb.append(String.format(" %2d", list[i])); // Formats right justified
    if ((i + 1) % 10 == 0) {
        sb.append(System.lineSeparator()); // Adds a new line (windows or unix like) after 10 values
    }
}
myJTextArea.setText(sb.toString());