Schleifenaufgabe - Molekül zeichnen

Castyll

Aktives Mitglied
Hallo,
Ich hänge an einer Aufgabe, in welcher Schleifen geübt werden. Hier erstmal die Aufgabe:
Entwickeln Sie eine Klasse Aufgabe_P2_4, in deren main-Methode eine Ausgabe
eines zweidimensionalen, regelmäßigen "Molekülgitters" der Größe nn
(mit n > 0) auf der Kommandozeile erfolgen soll. Die Moleküle sollen dabei
durch das Zeichen ’o’ repräsentiert werden und die Verbindungen zwischen
den Molekülen mit dem Zeichen ’-’ für horizontale Verbindungen und mit
dem Zeichen ’|’ für senkrechte Verbindungen. Gehen Sie dabei wie folgt vor:
(1) Lesen Sie mit Hilfe der IOTools in einer Schleife solange eine ganze
Zahl ein, bis der Benutzer eine ganze, positive Zahl eingibt.
(2) Geben Sie im Wechsel zwei unterschiedliche Zeilen aus:
die erste Zeile besteht aus (n-1) Wiederholungen der Zeichenkette
"o-" und einem einzelnen Zeichen ’o’ am Ende
die zweite Zeile besteht aus n Wiederholungen der Zeichenkette
"| ", welche aus dem Zeichen ’|’ und einem Leerzeichen besteht.
Das soll dann für n=2 so aussehen:
o-o
| |
o-o

Ich bin da wie folgt vorgegangen:

Java:
public class Aufgabe_Ue3_4
{
  public static void main (String[] args)
  {
    int n = IOTools.readInteger ("Bitte geben Sie einen Wert ein: ");
  
   for (int i=1; i< n; i++;)
     {
       System.out.print ("o-");
      }

      System.out.print ("o");
      System.out.print ("\n");

   for(int i=1; i<=n; i++)
    {
      System.out.print ("|");
     }


}
}

Damit hätte ich zumindestens mal den Kopf, aber ich habe keine Ahnung, wie ich weiter vorgehen soll. Ich freue mich auf Tipps!
 
die beiden for schleifen würde ich zur besseren übersicht jeweils in eigene methoden kapseln.
Und ansonsten machst einfach eine weitere for schleife in der du eben das was du bisher hast benutzt.
Nach der for-schleife musst du dann noch einmal o-o-o-o... zeichnen
Java:
for(int y=0;y<n-1;y++) {
  //o-o-o- ... -o zeichnen
  //| | |... | zeichen
}
//o-o-o-o ... zeichnen
 
@InfectedBytes In der For - Schleife wird doch folgendes gezeichnet für n=4:
o-o-o-o
| | | |

und dann nach der Schleife wird noch einmal:
o-o-o-o
hinzugefügt.

Aber am Ende soll ja :
o-o-o-o
| | | |
o-o-o-o
| | | |
o-o-o-o
| | | |
o-o-o-o
dastehen.
Oder versteh ich den Code einfach falsch?
 
Java:
for(int y=0;y<n-1;y++){ ... }
Angenommen n=4, dann wird diese schleife 3 ausgeführt und zeichnet dreimal:
Code:
o-o-o-o
| | | |
Also macht allein die schleife schonmal folgendes:
Code:
o-o-o-o
| | | |
o-o-o-o
| | | |
o-o-o-o
| | | |
Und nach der Schleife wird nochmal
Code:
o-o-o-o
gezeichnet.

Das heißt im ende erhälst du:
Code:
o-o-o-o
| | | |
o-o-o-o
| | | |
o-o-o-o
| | | |
o-o-o-o
 

Zurück
Oben