Java Position festlegen und Array um 1 nach rechts verschieben?

2 Antworten

wie mache ich den code: hoch: 2 x breit: 7 in eine schleife?
for (int reihe = 0; reihe < 2; ++reihe) {
  System.out.println("*******");
}

Um mehr Kontrolle über die Ausgabe der einzelnen Symbole zu haben, ist es aber praktischer, auch jede Spalte mittels Schleife zu generieren.

Abstrakt:

iteriere durch Reihen
  iteriere durch Spalten
    wenn bestimmte Zelle
      gebe $ aus
    wenn andere bestimmte Zelle
      gebe _ aus
    sonst
      gebe * aus

Den dazugehörigen Java-Code kannst du selbst schreiben. Eine Vorlage für eine einfache Schleife hast du ja nun schon.

Bewegen wird sich das $-Zeichen allerdings nicht. Dazu bräuchtest du ein Textfeld / eine Zeichenfläche, auf der du immer wieder neu zeichnen kannst. Dann könntest du dir eine Schleife anlegen, die bei jeder Iteration die Zeichenfläche leert und dann deine Symbole erneut zeichnet. Damit sich das Dollarzeichen bewegt, müsste zudem seine Position zuvor immer wieder geändert werden.

zeichne immer wieder
  leere Zeichenfläche
  setze neue Position von $-Zeichen
  zeichne Symbole

Vergleiche dies mit einem Daumenkino.

wenn ich in main position stern festlege:

Das ist ein Unterstrich, den du da angibst.

wie schreib man dan den code in Interface oder schreib ich dann in Class Symbol?

Ein Interface stellt nur Methoden und Konstanten vor, die eine konkrete Implementation (eine Klasse) später auf jeden Fall haben soll.

Beispiel:

public interface Zerstoerbar {
  void zerstoeren();
}

public class Auto implements Zerstoerbar {
  @Override
  public void zerstoeren() {
    // konkrete Implementation ...
  }
}

Die konkrete Implementation ist hier die Klasse Auto, die das Interface Zerstoerbar implementiert. Das Auto muss folgendermaßen die im Interface vorgestellte Methode definieren.

Wenn man davon ausgeht, dass dein Code-Snippet den Inhalt eines Interface darstellen soll, bräuchtest du wie oben eine Klasse, die dieses implementiert und die Methode symbol genauer definiert.

void symbol(String [][] bereich);

PS.: Ich kann dir nur empfehlen, eindeutige Bezeichner für deine Elemente zu wählen und stringent zu sein. All deine Bezeichner sind in Deutsch, nur bei den statischen Feldern machst du plötzlich eine Ausnahme (zumal die Wörter auch noch falsch geschrieben sind). Nenne sie doch einfach breite und hoehe.

Die Klasse Bewege ist m.E. im Namen bisher auch unpassend. BeweglichesSymbol würde es vermutlich besser beschreiben.

PPS.: Du solltest ernsthaft an deiner Rechtschreibung und deinem Ausdruck feilen, denn viele Sätze wirken unbeholfen und sind so nicht leicht verständlich. Lies mehr Bücher, vielleicht hilft dir das.

Kannst du die Frage vielleicht so formulieren, dass man auch versteht, was du erreichen willst?

PS: In einem Interface kannst du nichts implementieren

MrAmazing2  10.07.2020, 20:25

Dachte schon ich wäre dumm, weil ich nicht verstehe was er will. Jetzt bin ich erleichtert, dass es nichtnur mir so geht. xD

1