2016-09-29 2 views
0

Versuch zu drucken, um einen Text zu trösten isoscles Dreieck beliebiger Größe wie unten drucken:Für Loop-Algorithmus rechtwinkliges Dreieck mit Zeichen

Image

ich getan habe Transformationsalgorithmen, wie dies vor, aber die Tatsache, seine Zeichnung nur der Umriss der Form wirft mich für eine Schleife. Die Seite der Dreiecke ist in der Klasse als int leg gespeichert, und soweit ist das alles, was ich bei der Erstellung des Algorithmus denken kann.

for (int i = 0; i < leg - 1; i++){ 
} 

Jede Hilfe wird sehr geschätzt. Dank

+3

Hinweis: Sie benötigen zwei Schleifen –

+0

Scary Wombat, ich so viel davon ausgegangen, aber ich bin zu kämpfen, was zu entscheiden, das für for-Schleife tut. – cobes

+2

rechts - erste Schleife ist für vertikale, zweite ist für horizontale –

Antwort

1

Wenn Sie in Text beschreiben, was jede Zeile ist, sehen Sie, es gibt drei Muster, und das mittlere Muster braucht eine Schleife:

o   1 'o' character 
oo  2 'o' characters, separated by 0 spaces 
o o  2 'o' characters, separated by 1 space 
o o  2 'o' characters, separated by 2 spaces 
o o  2 'o' characters, separated by 3 spaces 
oooooo 6 'o' characters 

Drucke X Räume brauchen eine zweite Schleife, nach innen zu Mitte Musterschleife.

Drucken X 'o' Zeichen benötigt eine dritte Schleife.

+0

Dank Andreas. Ich versuche tatsächlich, es so etwas wie Leerzeichen zu machen. – cobes

0

Wie Andreas weist darauf hin, scheint es am einfachsten zu Schleife je nachdem, wie viele Räume benötigen Sie:

public class f { 

    static void g(int n){ 
     if(n>1){ 
      System.out.println("o"); 
      String spaces = ""; 
      for(int i=0;i<n-2;i++){ 
       System.out.println("o"+spaces+"o"); 
       spaces+=" "; 
      } 
      for(int i=0;i<n;i++) System.out.print("o"); 
     } 
     else System.out.println("o"); 
    } 


    public static void main(String[] args) { 
     g(6); 
    } 
}