Wie kann man in Java eine Zeichenformation ausgeben?

Es soll mit nur einer Abfrage wie viele Zeilen man haben möchte solche Formationen ausgegeben werden:

Beispiele für Vs bestehend aus 2, 4 bzw. 5 Zeilen:

Das ganze soll mittels zwei einer for schleife in welcher je eine for schleife für die Leerzeichen vor dem Backslash und eine for für die Leerzeichen zw. Backslash und Slash, realisiert werden.

Any thoughts?

(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
5 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
ralphdieter
2 years ago

Eine Schleife brauchst Du auf jeden Fall für die einzelnen Zeilen. die Leerzeichen in einer Schleife auszugeben, ist dagegen unnötig. Verwende lieber ” “.repeat(i) für i Blanks.

Eine Zeile i ∈ { 1, 2, 3, … N } besteht aus b(i, N) führenden Blanks, einem “\”, f(i, N) Füllblanks, einem “/” und einem Zeilenende:

System.out.print(" ".repeat(b(i, N))+"\\"+" ".repeat(f(i, N))+"/\n");

oder

System.out.printf("%s\\%s/\n", " ".repeat(b(i, N)), " ".repeat(f(i, N)));

Du brauchst nur noch die richtigen Formeln für b() und f(): b(i, N)=i-1 ist einfach, und f(i, N) findest Du selbst heraus. Das Schöne an dieser Aufgabe ist ja, dass Du gleich siehst, wenn die Formel nicht ganz stimmt 🙂

NackterGerd
2 years ago

Du hast di Lösung doch schon ganz genau beschrieben!

  1. Abfrage der Zeilennummer
  2. Eine Schleife für sie Leerzeichen vor dem V (Einfach mal im Bild abzählen wieviele Leerzeichen müssen denn in jeder Zeile sein)
  3. Eine Schleife die ein \ zeichnet dann Leerzeichen (einfach abzählen im Bild) die für die jeweilige Zeile notwendig sind ausgeben dann ein / anzeigen und Zeilenumbruch

Das war es doch schon

NackterGerd
2 years ago
Reply to  BlorerGamesDE

Aber wieso?

Immer soviel Leerzeichen wie dein i (Zeile-1)

D.h. in der ersten 0

In der zweiten 1

Ind der dritten 2 … Leerzeichen

NackterGerd
2 years ago

Natürlich nicht nach der Schleife das \

Sondern in der Schleife. Der Zähler ist ja die Zeile

Und in jeder Zeile kommt erst Leerzeichen dann \ dann die 2.Schleife mit Leerzeichen dann /

Also Schleife in Schleife!