我有一个双向链接列表,在该列表中我必须生成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();
答案 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;
}