Java图形设计循环

时间:2012-01-22 01:03:06

标签: java

for(int i = 1; i < 12; i++)
{
        for(int k=11; k > i; k--)
        {
                System.out.print("*");

        }
        System.out.print("\n");
}

我上面的代码显示了这样的设计:

**********
*********
********
*******
******
*****
****
***
**
*

我想交换它,看起来像这样:

**********
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *

我知道我需要以某种方式使用循环和System.out.print(“”)来留空间。

最好的使用方法是什么?我创建了两个单独的循环,但是使用下一行命令,这不会在两个循环中起作用。我如何将其整合到一个循环中?

3 个答案:

答案 0 :(得分:2)

对于第二张&#34;图片&#34;:您必须在&#34; *&#34;之前打印可变数量的空格。这可以通过在打印&#34; *&#34;的循环之前使用另一个循环来实现,并且知道每次打印一行时,打印的空格数增加一,并且星号的数量减少了一个。

编辑:

这里有一个提示,让你开始。填写空白(并删除评论):

int delta = /*fill*/;
for (int i = 0; i < /*fill*/; i++) {
    for (int j = 0; j < /*fill*/; j++) {
        System.out.print(" ");
    }
    for (int j = 0; j < /*fill*/; j++) {
        System.out.print("*");
    }
    delta += /*fill*/;
    System.out.print("\n");
}

答案 1 :(得分:0)

使用String.format左边填充空格。

答案 2 :(得分:-1)

使用二维阵列做到这一点!它非常简单有效!

第二个结果: - 放&#39; *&#39;如果row_no&lt; = column_no(对角线上方的半矩阵加上对角元素),则在其他地方放置一个空格&#34; &#34;在其他地方。在行和列的循环中运行它。然后按行打印2-D阵列。