2017-05-14 4 views
1

Ich versuche, 2 Formen mit * s auf den gleichen Linien gedruckt auszudrucken. Das Endergebnis wie dies der CodeReduzieren von Leerzeichen in einer Zeichenfolge in jeder Schleife

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

aussehen muss ich Werke so weit haben, aber ich bin nicht sicher, wie die Räume mit jeder Schleife zwischen den Formen zu verringern.

Aktuelle Code:

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++; 
} 

Das aktuelle Ergebnis ist:

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

Wie würde ich mich über die Räume jeder Schleife ab?

+0

Sie eine weitere Schleife verwenden können, um die Anzahl der Räume und die Sterne zu ändern –

+0

Ich würde Sie nur ein * und zählen vorschlagen verwenden, wie oft es gedruckt werden muss. Statt 'rectangleLine' – sstefan

+0

Wie genau würde ich das machen? Ich habe nicht viel Erfahrung mit Java leider @PeterLawrey –

Antwort

0

Versuchen Sie, diese

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

Warum der Downvote? –

+0

Stack Overflow ist eine Frage-Antwort-Site, kein Hausaufgaben-Schreibservice. Bitte geben Sie den Nutzern keinen Grund, etwas anderes zu glauben. Vielen Dank. –

Verwandte Themen