你如何用Java制作一个带有星星的反三角形?

时间:2016-12-15 14:35:37

标签: loops

所以,我需要使用一个嵌套的for循环来创建一个向后的三角星,顶部有4颗星,然后下一行只有3颗星,但在开头有一个空格,所以每行最终在同一列。这有点难以描述,但结构在我的代码中的注释中。

我可以创建一个以4颗星开头并以底部有一颗星结尾的三角形,但我似乎无法将这些空间排成一行,以便它们都在同一点结束。我得到的最接近的是前两行,但最后两行分别有两颗星和一颗星。

这是我的代码:

public static void stars()
//****
// ***
//  **
//   *
{
  int c = 0;
  for (int r = 4; r >= 1; r--)
    {
        for (c = r; c >= 1; c--)
        {

            System.out.print("*");
        }
            System.out.println();
        System.out.print(" ");
    }
}

如果您有任何回复,我欢迎他们。

1 个答案:

答案 0 :(得分:0)

您可以使用另一个循环来打印空格。第r行的空格数将仅等于4 - r

public static void stars() {

    for (int r = 4; r >= 1; r--) {

        for (int i = 0; i < 4 - r; i++) {
            System.out.print(" ");
        }

        for (int c = r; c >= 1; c--){

            System.out.print("*");
        }
        System.out.println();
    }
}

输出:

****
 ***
  **
   *