编写一些简单的ASCII
事物,基本上现在就是为每个具有定义宽度和高度的像素打印出一个字符。
我有一个for循环,将字符添加到字符串中,并在达到宽度时添加“\ n”,以便宽度和高度正确。
然而,它目前在第一行打印太多而在最后一个想法上打印得太少了?将此传递给method ('.', 7,5)
private String format(char character, int width, int height)
{
char[] picture = new char[width * height];
String pic = "";
for(int i = 0; i < width * height; i++)
{
picture[i] = character;
pic += picture[i];
if(i == width || i > width && i % width == 0)
{
pic += "\n";
}
}
return pic;
}
这是我的输出
........ ....... ....... ....... ......
好吧,这些点的每个块都是在不同的行上,但由于某种原因它将它们排成一排,无论如何你仍然可以看到第一行有8个,最后一行有6个?
答案 0 :(得分:2)
只需将你的换行符添加到循环中:
if(i > 0 && (i % width) == 0)
{
pic += "\n";
}
picture[i] = character;
pic += picture[i];
你绝对应该使用StringBuilder
来构建字符串。