gpt4 book ai didi

java - 调用方法来生成 ASCII 艺术

转载 作者:行者123 更新时间:2023-12-02 11:32:00 28 4
gpt4 key购买 nike

无论是谁读到这篇文章,我都感谢您花时间阅读。

本质上,我试图通过调用 x 个方法来生成这个精确的 ASCII 艺术,我个人考虑了 3 个:

*          *
** **
*** ***
**** ****
***** *****
************
***** *****
**** ****
*** ***
** **
* *

第一个是生成上部部分,第二个是生成中间部分,第三个是生成星号的最后部分。

我目前使用单一方法处理绘图,我需要帮助将其分成多个部分。

https://pastebin.com/RDE2KLHk

此粘贴箱链接包含我当前的进度。

谢谢。我对此深表感激。

最佳答案

你了解参数了吗?基本上,您有一个调用的方法来绘制整个图像。图像可以分为两部分,上半部分和下半部分。您不需要中间部分,因为它可以覆盖在上半部分或下半部分的循环中。如果您想要一个绘制中间的方法,您可以自己编写并调整 for 循环。

public static void main(String[] args) {
// pass in the height of the triangles
// in your example it's 6
printImage(6);
}

public static void printImage(int height) {
printTop(height);
printBottom(height);
}

//also draws the middle part
public static void printBottom(int height) {
for (int i = height; i > 0; i--) {
printStar(i);
printSpace(2 * (height - i));
printStar(i);
System.out.println();
}
}

public static void printTop(int height) {
for (int i = 1; i < height; i++) {
printStar(i);
printSpace(2 * (height - i));
printStar(i);
System.out.println();
}
}

public static void printStar(int stars) {
for (int i = 0; i < stars; i++) {
System.out.print("*");
}
}

public static void printSpace(int spaces) {
for (int i = 0; i < spaces; i++) {
System.out.print(" ");
}
}

您的方法也可以采用多个参数。请注意,printTop 和 printBottom 具有基本相同的代码。这不好。为了减少冗余,我们可以编写另一个方法。

public static void printLine(int stars, int spaces) {
printStar(i);
printSpace(spaces);
printSTar(i);
}

然后,在 printTop 和 printBottom 方法中,您可以像这样调用它:

printLine(i, 2 * (height - i));

关于java - 调用方法来生成 ASCII 艺术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49227222/

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