Java 使用for循环创建Ascii艺术

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 =

我需要编写代码,使用for循环创建以下内容(人的腿):

这应该是在一个私有方法(即createLegs)中,腿部左侧的空间需要减少到一个数字(即10),这样腿部仍然远离(这样我可以稍后创建鞋子),并且每行腿部之间的空间需要增加。我可以打印将支腿从左侧移开的空格,但不知道如何创建斜线、中间的*s、或另一支腿。感谢您的帮助。 这就是我目前所拥有的

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();
        }
    }