在Java中颠倒右三角形

Joh*_*hn 1 java loops for-loop

我需要这样做:

*****
 ****
  ***
   **
    *
Run Code Online (Sandbox Code Playgroud)

我有这个代码:

for (int i=0; i<5; i++)
        {
            for (int j=5; j>i; j--)
            {    
                System.out.print("*");
            }
            System.out.println("");
Run Code Online (Sandbox Code Playgroud)

输出这个:

*****
****
***
**
*
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何实现空间.任何帮助赞赏.

Tun*_*aki 6

您需要使用两个for循环:一个用于空格数,一个用于以下数量*:

for (int i = 0; i < 5; i++) {
    for (int j = 0; j < i; j++) {    
        System.out.print(" ");
    }
    for (int j = i; j < 5; j++) {    
        System.out.print("*");
    }
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)

Java 8解决方案:

IntStream.range(0, 5).forEach(i -> {
    IntStream.range(0, i).forEach(j -> System.out.print(" "));
    IntStream.range(i, 5).forEach(j -> System.out.print("*"));
    System.out.println();
});
Run Code Online (Sandbox Code Playgroud)