如何使用循环和system.out.print / println绘制图形

时间:2017-03-13 08:42:36

标签: java

任务:给定一个整数“n”。如果n = 1则打印出来:

/|
 |

如果n = 2打印出来:

 /|
/ |
  |
  |

等等......我怎样才能解决这个问题?

public static void main(String[] args) {
    int n = sc.nextInt();
    for(int i = 0; i < 1;i++){
        if(n == 1){
            System.out.print(" /");
            System.out.print("|\n");
            System.out.println("  |");
        }else if(n == 2){
            System.out.println(" /");
            System.out.print("/");
            System.out.print(" |\n");
            System.out.print("  |\n");
            System.out.print("  |\n");
            System.out.print("  |\n");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

这里的挑战是编写循环代码来处理每行的格式。一般来说,我们想要打印一些空格,然后是正斜杠,然后是更多的空格,用垂直管道结束这条线。

for (int i=0; i < n; ++i) {
    for (int j=i; j < n-1; ++j) {
        System.out.print(" ");
    }
    System.out.print("/");
    for (int j=i; j > 0; --j) {
        System.out.print(" ");
    }
    System.out.println("|");
}

for (int i=0; i < n; ++i) {
    for (int j=0; j < n; ++j) {
        System.out.print(" ");
    }
    System.out.println("|");
}

n = 1的输出

/|
 |

n = 2的输出

 /|
/ |
  |
  |

输出n = 3

  /|
 / |
/  |
   |
   |
   |