如何使用嵌套的三角形

时间:2014-05-15 21:25:25

标签: java loops for-loop nested

我需要在Java中使用嵌套的for循环来制作像这样的三角形

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

继承我的代码:

 for (int i=8; i>0; i--)
  {
  for (int j=0; j<i; j++)
  {
      System.out.print('#');
    }
    System.out.println("");
}

我得到一个三角形而不是我想要的那个。相反,我的三角形看起来像这样:

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

3 个答案:

答案 0 :(得分:0)

试试这个

public static void main(String[] args)
{

    triangle(8);
  }

private static void triangle(int len)
{
    for (int j = 0; j < len; j++)
    {
        for (int k = 0; k < j; k++)
        {
            System.out.print(' ');
        }
        for (int k = len-j; k > 0; k--)
        {
            System.out.print('#');
        }
        System.out.println();
    }
}

答案 1 :(得分:0)

您需要外部循环来计算8行。内循环将输出每行的*。外部循环的行数将告诉您输出的空格数与*相比。

答案 2 :(得分:0)

使用以下代码

int f=8;`
for (int i=f; i>0; i--){

    for (int k=0; k<f-i;k++){
    System.out.print(' ');
    }
    for (int j=0; j<i; j++){
    System.out.print('*');
    }
    if(i-1!=0)System.out.println("");
 }

你的代码也在三角形的末尾产生了一条不必要的行,这段代码处理了这一行,并且能够制作出所需的三角形。

我已对其进行了测试,请参阅here