如何使等腰三角形内部具有空间

时间:2018-09-26 02:01:09

标签: java

我需要制作一个等腰三角形,内部像这样

Enter the size of the equal sides in an isosceles triangle: 6 * ** * * * * * * ******

到目前为止,我是一个没有空格的三角形。

    System.out.println("Enter the size of the equal sides in an isosceles triangle: ");
    Scanner num = new Scanner(System.in);
    int i,j;

    int a = num.nextInt();
    for(i=0; i < a ; i++) 
    {    
        for(j=0; j<=i; j++) 
        { 
            System.out.print("*"); 

        } 

        System.out.println(); 
    }

任何人都可以帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这是我喜欢的实现。它使用三元表达式为ij的每个值计算要打印的字符。当满足以下条件之一时,我们选择打印*

  • 它是给定行上的第一个或最后一个字符
  • 这是三角形的最后一行

否则,我们将打印一个空格。看看下面的代码示例。

int a = 6;
for (int i=0; i < a ; i++) {
    for (int j=0; j<=i; j++) {
        char chr = (i == a-1 || j == 0 || j == i) ? '*' : ' ';
        System.out.print(chr); 
    } 

    System.out.println(); 
}

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

Demo