2017-05-14 42 views
1

我試圖用相同的行打印出用*製成的2個形狀。 最終的結果一定是這樣的減少每個循環中字符串中的空格

// * * * * *    * 
// * * * * *   * * 
// * * * * *   * * * 
// * * * * *   * * * * 

我的作品至今的代碼,但我不知道如何與每個循環降低形狀之間的空間。

目前代碼:

String rectangleLine = "* * * * *"; 
int x = 1; 
    for(int a = 0; a < 4; a++){ 
    String repeated = new String(new char[x]).replace("\0", "* ");   
    String line = rectangleLine + "    " + repeated; 
    System.out.println(line); 
    x++; 
} 

目前的結果是:

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

我怎麼會去減少空間的每個循環?

+0

你可以用另一個循環改變的空間和星星 –

+0

數量,我建議你只使用一個*並計算需要多少次印刷。而不是'rectangleLine' – sstefan

+0

我該如何去做這件事?對於java來說,我沒有太多的經驗@PeterLawrey –

回答

0

試試這個

int spaces = 13; 
String stars = "*"; 
for(int i = 1;i<=4;i++){ 
    System.out.print("* * * * *"); 
    for(int j=1;j<=spaces;j++){ 
     System.out.print(" "); 
    } 
    spaces--; 
    System.out.println(stars); 
    stars+=" *"; 
} 
+0

爲什麼downvote? –

+0

堆棧溢出是一個問答網站,而不是作業寫作服務。請不要讓用戶有理由相信。謝謝。 –