gpt4 book ai didi

java - 镜像 ASCII 艺术

转载 作者:行者123 更新时间:2023-11-29 06:59:51 27 4
gpt4 key购买 nike

我试图垂直反射(reflect)这门艺术。

示例:

From this

To this

但这是我最终得到的:

enter image description here

代码如下:

String reverse;

for(int i=1;i<coolDragon.size();i++) // coolDragon is the name of the art. It is a txt file that I'm reading
{
reverse = "";
for (int j=coolDragon.get(i).length()-1;j>=0;j--) // probably the worst line of code
reverse=reverse+coolDragon.get(i).charAt(j);
System.out.println(reverse);
}

这只是反转每一行中的每个字符串。我需要在这里做某种填充以获得完美的不对称反转吗?还有其他建议吗?

最佳答案

你应该找出输入文件中哪一行的字符最多,然后你必须用空格向右填充每一行,这样在你反转它们之前所有的行都有相同的长度。

例如,如果您没有在此处用一个空格向右填充第一行:

XO
XXX

你会得到一个反向输出:

OX
XXX

当你想要的是:

 OX
XXX

另请注意,您将跳过文件的第一行。 i 应该从 0 开始。

代码应该是这样的:

int maxLen = 0;
for(int i=0;i<coolDragon.size();i++) {
if (cooDragon.get(i).length() > maxLen)
maxLen = cooDragon.get(i).length();
}
StringBuilder reverse = new StringBuilder(maxLen);
for(int i=0;i<coolDragon.size();i++) {
reverse.setLnegth(0);
for (int k=0; k<maxLen - coolDragon.get(i).length();k++) // add spaces
reverse.append(' ');
for (int j=coolDragon.get(i).length()-1;j>=0;j--)
reverse.append(coolDragon.get(i).charAt(j));
System.out.println(reverse.toString());
}

关于java - 镜像 ASCII 艺术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957976/

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