gpt4 book ai didi

java - 如何在java中绘制正方形并将值放入其中?

转载 作者:行者123 更新时间:2023-12-01 12:07:08 26 4
gpt4 key购买 nike

我有一个带有链表的 Java 程序。我想在命令行中绘制正方形并将链表的值放入其中。输出应该是这样的:

-----------------
| 5 | 7 | 8 | 9 |
-----------------

这些数字只是示例。这是我到目前为止所做的:

public void display()
{
Node<data> temp = ll.getHead();//ll is linked list
for(int i=0;i<ll.size();i++)System.out.print("---------");
System.out.println();
for(int i=0;i<ll.size();i++)System.out.print("| |");
System.out.println();
for(;temp!=null;temp = temp.next)System.out.print("| "+temp.data.Value+" |");
System.out.println();
for(int i=0;i<ll.size();i++)System.out.print("| |");
System.out.println();
for(int i=0;ll.size();i++)System.out.print("---------");
System.out.println();
}

这段代码有两个问题:效率很低,如果值大于 9,线条就会移动,所有绘图都会丢失。有更好的方法来做我想做的事吗?我认为这段代码很清楚并且足以说明问题。如果没有,请告诉我让它变得更好。谢谢。

最佳答案

您可以对上行和下行使用 StringBulder,因为它们是相同的。您可以在同一个循环中构建所有行,以便可以处理值的可变长度:

StringBuilder line = new StringBuilder();
StringBuilder values = new StringBuilder();

for(;temp!=null;temp = temp.next) {

String value =Integer.toString(temp.data.Value);

line.append("-");
values.append("|");

for(int i=0; i<value.length(); i++) { line.append("-"); }
values.append(value);
}

line.append("-");
values.append("|");

System.out.println(line.toString());
System.out.println(values.toString());
System.out.println(line.toString());

关于java - 如何在java中绘制正方形并将值放入其中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27512082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com