0

我通过从用户那里获取坐标,在控制台上用 for 循环绘制一个带星号的三角形。但我无法绘制五边形。五边形包括 3 个三角形,但我编写的程序无法附加这些三角形。它正在绘制 3 个不同的控制台上不同位置的三角形。我该如何解决这个问题?你能帮我吗?

4

1 回答 1

0

有两种可能的方法。

  1. 您可以创建输出的内部表示(如二维字符数组),您可以在其中绘制图形。

    图像完成后,您打印整个数组。

  2. 您使用转义序列(特定于您的终端)将光标移动到某个位置以绘制字符。

    在您的情况下,您应该清除终端一次,然后为每个星号移动光标。

[编辑] 至于#1:

char[][] screen = new char[20][]; // 20 lines
for(int i=0;i<screen.length; i++) screen[i] = new char[80]; // 80 columns

现在你可以用screen[y][x] = '*'

打印:

for(int i=0;i<screen.length; i++) System.out.print(new String(screen[i]));
System.out.println();
于 2011-01-04T16:15:57.410 回答