Java,在文件中写入数据并在多行上拆分

时间:2015-11-17 18:54:39

标签: java format doubly-linked-list

我有一个双向链接列表,在该列表中我必须生成100个随机值。我已经这样做了。然后,我需要将双链表的值存储到文本文件中。我也是这样做的。 最后,我必须格式化我的文档,例如在线上有5个值:

提示:我会将这些行写为随机值,不管顺序,我使用bubblesort对它们进行排序,之后我将其反转,但我只需要知道如何将这些值放在这样:< / p>

1 14 23 4 55 
6 39 91 1 4

etc.

我也试图覆盖toString,我在那里添加&#34; for&#34;和&#34;如果&#34;,但结果失败了。这是我的代码:

DLL ran = new DLL();  //this is my class named DLL
    for(int i=0; i<100; i++)
    {
        Integer n = new Integer((int) (Math.random()*100));
        ran.startValue(n);      //this is my add function, to add elements in list
        System.out.print(n+" ");
    }

  BufferedWriter out = new BufferedWriter(new FileWriter("out.txt"));

    out.write(ran.toString());
    out.flush();
    out.close();

3 个答案:

答案 0 :(得分:1)

如果只是格式化就可以使用它。

AWSSDK.Core

但我同意@Hovercraft你应该使用PrintWriter,默认情况下它还提供换行方法。无需在此处覆盖toString()

答案 1 :(得分:0)

如果有get(int i)函数,我会按如下方式编写toString

 public String toString(){
     String ans = ""; 
     for(int i = 0; i < this.length; i++){
          ans += this.get(i) + " ";
          if(i % 5 == 0)
              ans += "\n";
     }
     return ans;
 }

这就是你写get(int i)

的方法
public int get(int index){
    Node head = this.head;
    for(int i = 0; i < index; i++){
         head = head.next;
    }
    return head.getData();
 }

答案 2 :(得分:0)

使用提供的Node和DLL函数,您可以在DLL类中执行类似的操作:

public String toString(){  
   String ans = "";  
   Node head = this.head;  
   for(int i = 0; i < this.size; i++){  
        ans += head.getData() + " ";  
        if(i % 5 == 0)  
            ans += "\n";  
        head = head.next;  
   }  
   return ans;  
}  

在while循环中写入同样容易,如下所示:

public String toString(){  
   String ans = "";  
   Node head = this.head;
   int i = 1;  
   while(head != null){ 
        ans += head.getData() + " ";  
        if(i % 5 == 0)  
            ans += "\n";  
        head = head.next;  
        i++;
   }  
   return ans;  
}