Java 使用for循环创建Ascii艺术
我需要编写代码,使用for循环创建以下内容(人的腿): 这应该是在一个私有方法(即createLegs)中,腿部左侧的空间需要减少到一个数字(即10),这样腿部仍然远离(这样我可以稍后创建鞋子),并且每行腿部之间的空间需要增加。我可以打印将支腿从左侧移开的空格,但不知道如何创建斜线、中间的*s、或另一支腿。感谢您的帮助。 这就是我目前所拥有的Java 使用for循环创建Ascii艺术,java,loops,for-loop,ascii,Java,Loops,For Loop,Ascii,我需要编写代码,使用for循环创建以下内容(人的腿): 这应该是在一个私有方法(即createLegs)中,腿部左侧的空间需要减少到一个数字(即10),这样腿部仍然远离(这样我可以稍后创建鞋子),并且每行腿部之间的空间需要增加。我可以打印将支腿从左侧移开的空格,但不知道如何创建斜线、中间的*s、或另一支腿。感谢您的帮助。 这就是我目前所拥有的 private void drawLegs() { final char SPACE=' '; final int DISTANCE =
private void drawLegs()
{
final char SPACE=' ';
final int DISTANCE = 16;
final int HEIGHT = 7;
final char FWD='/';
final char BWD='\\';
for(int row=0; row<HEIGHT; row++)
{
int spaces = DISTANCE-row;
for(int count=0;count<spaces;count++)
{
System.out.print(SPACE);
}
System.out.println();
}
private void drawleegs()
{
最终字符空间=“”;
最终整数距离=16;
最终整数高度=7;
最终字符FWD='/';
最终字符BWD=“\\”;
对于(int row=0;row,如果不需要循环,最简单的方法是
private void drawLegs()
{
System.out.println(" /***/ \\***\\");
System.out.println(" /****/ \\****\\");
System.out.println("/*****/ \\*****\\");
}
因此,继续进行的方法——您不需要在程序中这样做,只需要理解问题——是编写一个具有以下值的表:(1)第一段之前的空格数,(2)第一段中的星星数,(3)两段之间的空格数,以及(4)第二段中的星星数(根据上面的代码计算)
对于每一列,您都有一个起始值(第一行),并且您应该能够计算循环每次迭代的增量/减量
最后一件事是如何连接多个字符。这可以通过for
循环来完成。例如,假设要在字符串末尾添加60倍的字母“a”:
String s = "";
for (int j=0; j<60; j++) s = s + "A";
String s=”“;
对于(int j=0;j也许你的问题会有一个具体的答案,但我知道你可以做如下事情
private static void drawLegs() {
final char SPACE=' ';
int DISTANCE = 16;
final int HEIGHT = 7;
final char FWD='/';
final char BWD='\\';
int starCount = 1;
for (int row = 0; row < HEIGHT; row++) {
int spaces = DISTANCE - row;
for (int count = 0; count < spaces; count++) {
System.out.print(SPACE);
}
System.out.print(FWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(FWD);
for (int i = 0; i < starCount*2; i++) {
System.out.print(SPACE);
}
System.out.print(BWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(BWD);
DISTANCE--;
starCount++;
System.out.println();
}
}
private static void drawleegs(){
最终字符空间=“”;
整数距离=16;
最终整数高度=7;
最终字符FWD='/';
最终字符BWD=“\\”;
int starCount=1;
对于(int row=0;row
欢迎来到SO。请阅读。你的代码在哪里?你尝试了什么?如果你希望有人帮助你做作业,请先表现出一些努力。如果你能打印一个空格,为什么不能打印斜杠或星星?打印(“”)
,打印(“/”)
,打印(“*”)
。您面临的问题的确切性质是什么?请记住,这不是一项代码编写服务,因此请展示您迄今为止所做的工作。根据我目前所做的更新,我不确定如何增加每行中的*数量以及如何增加空格。
String s = "";
for (int j=0; j<60; j++) s = s + "A";
private static void drawLegs() {
final char SPACE=' ';
int DISTANCE = 16;
final int HEIGHT = 7;
final char FWD='/';
final char BWD='\\';
int starCount = 1;
for (int row = 0; row < HEIGHT; row++) {
int spaces = DISTANCE - row;
for (int count = 0; count < spaces; count++) {
System.out.print(SPACE);
}
System.out.print(FWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(FWD);
for (int i = 0; i < starCount*2; i++) {
System.out.print(SPACE);
}
System.out.print(BWD);
for (int i = 0; i < starCount; i++) {
System.out.print("*");
}
System.out.print(BWD);
DISTANCE--;
starCount++;
System.out.println();
}
}