反向星号右三角形,java程序

时间:2017-04-29 02:40:19

标签: java

我非常接近这一点,但不是星号是水平的,而是连续的,它们是垂直的,一个在另一个的顶部。

问题:编写一个显示以下输出的程序。使用变量存储第一行中星号数的值。您必须在解决方案中使用多个循环。

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

我目前有:

public class JavaAssignment6b {
    public static void main( String[] args ) {
        for(int r = 1; r <= 10; r++) {
            for(int j = 10; j >= r; j--) {
                System.out.println("*");
            }
            System.out.println(" ");
        }
    }
}               

1 个答案:

答案 0 :(得分:0)

这个问题的简单回答。您所要做的就是添加一个简单的if语句。我在下面发布了两个解决方案,一个在第一行打印星号数,另一个在每行发布星号数。

解决方案1 ​​

要在第一行行打印星号数:

int numberOfAsterisks = 0;
    for(int r = 1; r <= 10; r++) {
        for(int j = 10; j >= r; j--) {
            System.out.print("*");
            numberOfAsterisks++;
         }    
         if (r==1) {
            System.out.print(numberOfAsterisks);
         }
            System.out.println();
    }               
}

输出

**********10
*********
********
*******
******
*****
****
***
**
*

解决方案2

要在每个行上打印星号数:

int numberOfAsterisks = 0;
                for(int r = 1; r <= 10; r++) {
                    for(int j = 10; j >= r; j--) {
                        System.out.print("*");
                        numberOfAsterisks++;
                    }
                    System.out.print(numberOfAsterisks);
                    numberOfAsterisks = 0;
                    System.out.println();
        }               
    }

以及此答案的输出:

**********10
*********9
********8
*******7
******6
*****5
****4
***3
**2
*1