Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的倒直角三角形_Java_Loops_For Loop - Fatal编程技术网

Java中的倒直角三角形

Java中的倒直角三角形,java,loops,for-loop,Java,Loops,For Loop,我需要这样做: ***** **** *** ** * 我有这个密码: for (int i=0; i<5; i++) { for (int j=5; j>i; j--) { System.out.print("*"); } System.out.println(""); 我不知道如何实现这些空间。感谢您的帮助

我需要这样做:

*****
 ****
  ***
   **
    *
我有这个密码:

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

我不知道如何实现这些空间。感谢您的帮助。

您需要使用两个for循环:一个表示空格数,另一个表示*:


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

只需在每行开始前打印k个空格

要解决这类问题,如果你将其分解并观察其模式,将很容易

*****  0 space
 ****  1 space
  ***  2 spaces
   **  3 spaces
    *  4 spaces
记下这个图案后,你会问自己,你能打印这个吗

0*****
1****
2***
3**
4*
我们看到数字与每行的开头相似。因此,我们可以使用变量i。你的外环计数器,我们有

for (int i=0; i<5; i++){
    System.out.println(i);
    for (int j=5; j>i; j--){ 
        System.out.print("*");
    }
    System.out.println("");
}
现在,您只需将每行开头的数字转换为空格数,您就有

for (int i=0; i<5; i++){
    for(int k=0; k<i; k++)    //using i to control number of spaces
        System.out.println(" ");
    for (int j=5; j>i; j--){ 
        System.out.print("*");
    }
    System.out.println("");
}
只需在每行开始前打印k个空格

要解决这类问题,如果你将其分解并观察其模式,将很容易

*****  0 space
 ****  1 space
  ***  2 spaces
   **  3 spaces
    *  4 spaces
记下这个图案后,你会问自己,你能打印这个吗

0*****
1****
2***
3**
4*
我们看到数字与每行的开头相似。因此,我们可以使用变量i。你的外环计数器,我们有

for (int i=0; i<5; i++){
    System.out.println(i);
    for (int j=5; j>i; j--){ 
        System.out.print("*");
    }
    System.out.println("");
}
现在,您只需将每行开头的数字转换为空格数,您就有

for (int i=0; i<5; i++){
    for(int k=0; k<i; k++)    //using i to control number of spaces
        System.out.println(" ");
    for (int j=5; j>i; j--){ 
        System.out.print("*");
    }
    System.out.println("");
}

如果你真的想让给你作业评分的人惊叹,这里有一个比其他答案少一个循环的解决方案:

for (int y = 0; y < 5; y++) {
    for (int x = 0; x < 5; x++) {
        System.out.print((x >= y) ? "*" : " ");
    }

    System.out.println();
}

如果你真的想让给你作业评分的人惊叹,这里有一个比其他答案少一个循环的解决方案:

for (int y = 0; y < 5; y++) {
    for (int x = 0; x < 5; x++) {
        System.out.print((x >= y) ? "*" : " ");
    }

    System.out.println();
}
您可以将您的值传递到count,它的效果非常好



您可以将您的值传递到count,它的效果非常好。

您更快了,我写的是相同的:DYou更快了,我写的是相同的:我认为第一个答案没有变化。@Error404我没有复制他的答案。无论如何,更重要的是,我想让OP学习如何解决这类问题。当然,解释获得它所需的方法也很重要。我想你没有抄袭它,我打算把同样的答案放在xD上,但在你的第一篇文章中,我没有看到其他答案有太多的变化。只是一点,@错误404肯定;事实上,还有很多可能的解决方案。它甚至可以通过一个循环完成。但我给出了他学校老师对他们的期望。真实的故事。另外,我认为使用两个循环是一开始学习和澄清的最佳方式。快乐编码;我认为第一个答案没有变化。@Error404我没有抄袭他的答案。无论如何,更重要的是,我想让OP学习如何解决这类问题。当然,解释获得它所需的方法也很重要。我想你没有抄袭它,我打算把同样的答案放在xD上,但在你的第一篇文章中,我没有看到其他答案有太多的变化。只是一点,@错误404肯定;事实上,还有很多可能的解决方案。它甚至可以通过一个循环完成。但我给出了他学校老师对他们的期望。真实的故事。另外,我认为使用两个循环是一开始学习和澄清的最佳方式。快乐编码;有人想只使用一个循环来显示他们的答案吗?XD它可以不用字符串和递归来完成。@user3437460我可以做得更好:一个零循环的答案!System.out.print******\n\u*****\ n\u***\ n\u***\ n\u***\ n\u***\ n;。我怀疑这就是作业的内容。不,哈哈,我的意思是遵守规则-只使用System.out.print*和System.out.println打印三角形,不允许使用其他打印方式。那么n号三角形呢?heheAnyone想只使用一个循环来显示他们的答案?XD它可以不用字符串和递归来完成。@user3437460我可以做得更好:一个零循环的答案!System.out.print******\n\u*****\ n\u***\ n\u***\ n\u***\ n\u***\ n;。我怀疑这就是作业的内容。不,哈哈,我的意思是遵守规则-只使用System.out.print*和System.out.println打印三角形,不允许使用其他打印方式。那么n号三角形呢?呵呵