在星号

时间:2015-09-14 14:40:25

标签: java

在哪里/如何在星号之间添加空格, 这就是我到目前为止所做的......

int i, j, k;
int n = 5;

for (i = 1; i <= n; i++) {
    for (j = 0; j < (n - i); j++) {
        System.out.print(" ");
    }
    for (j = 1; j <= i; j++) {
        System.out.print("*");
    }
    for (k = 1; k < i; k++) {
        System.out.print("*");
    }
    System.out.print("\n");
}

for (i = n - 1; i >= 1; i--) {
    for (j = 0; j < (n - i); j++) {
        System.out.print(" ");
    }
    for (j = 1; j <= i; j++) {
        System.out.print("*");
    }
    for (k = 1; k < i; k++) {
        System.out.print("*");
    }
    System.out.print("\n");
}

2 个答案:

答案 0 :(得分:2)

您的实际输出是:

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

在哪里/如何在星号之间添加空格?

如果您的预期输出为:

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

在每个打印语句中使用额外的空格

int i, j, k;
int n = 5;

for (i = 1; i <= n; i++) {
    for (j = 0; j < (n - i); j++) {
        System.out.print("  ");
    }
    for (j = 1; j <= i; j++) {
        System.out.print("* ");
    }
    for (k = 1; k < i; k++) {
        System.out.print("* ");
    }
    System.out.print("\n");
}

for (i = n - 1; i >= 1; i--) {
    for (j = 0; j < (n - i); j++) {
        System.out.print("  ");
    }
    for (j = 1; j <= i; j++) {
        System.out.print("* ");
    }
    for (k = 1; k < i; k++) {
        System.out.print("* ");
    }
    System.out.print("\n");
}

点击working demo

答案 1 :(得分:0)

只要我理解你的问题,你就应该能够取代&#34; **&#34;用&#34; * *&#34;如果你想&#34;在星号之间添加空格&#34;。像这样:

String asterisks = "**";
asterisks = asterisks.replaceAll("\\*\\*, \\* \\*);
相关问题