Wie bekomme ich sowas bei Java hin?

2 Antworten

Um in Java zwei Buchstaben abwechselnd auszugeben, damit am Ende ein Schachbrettmuster entsteht, könnten Sie zunächst eine Schleife verwenden, um die Zeilen des Schachbretts auszugeben. In jeder Zeile können Sie dann eine weitere Schleife verwenden, um die Spalten des Schachbretts auszugeben. In jedem Durchlauf der inneren Schleife können Sie dann den nächsten Buchstaben ausgeben, indem Sie eine Variable verwenden, um den aktuellen Buchstaben zu speichern und diesen in jedem Durchlauf der Schleife zu wechseln. Hier ist ein Beispiel, wie das in Java aussehen könnte:


public static void main(String[] args) {
  // Initialisieren der Variable für den aktuellen Buchstaben
  char currentChar = 'A';

  // Schleife zum Ausgeben der Zeilen des Schachbretts
  for (int row = 0; row < 8; row++) {
    // Schleife zum Ausgeben der Spalten des Schachbretts
    for (int col = 0; col < 8; col++) {
      // Ausgabe des aktuellen Buchstabens
      System.out.print(currentChar);

      // Wechseln des aktuellen Buchstabens
      if (currentChar == 'A') {
        currentChar = 'B';
      } else {
        currentChar = 'A';
      }
    }

    // Wechseln des aktuellen Buchstabens
    if (currentChar == 'A') {
      currentChar = 'B';
    } else {
      currentChar = 'A';
    }

    // Zeilenumbruch am Ende jeder Zeile
    System.out.println();
  }
}

Dieser Code würde dann ein Schachbrettmuster aus den Buchstaben A und B ausgeben, wobei die Buchstaben abwechselnd in jeder Zeile ausgegeben werden.

Hier kann der Code getestet werden.

(Diese Antwort wurde übrigens von einer KI erstellt!)

Tyldu  12.12.2022, 19:14

merkt man, sie ist nämlich falsch. deine reihe würde immer mit einem A anfangen und nicht wie oben immer abwechselnd

2
Tyldu  12.12.2022, 19:20
@Eddcapet
ABABABAB
ABABABAB
ABABABAB
ABABABAB
ABABABAB
ABABABAB
ABABABAB
ABABABAB

kommt da dann raus, richtig

2
Tyldu  12.12.2022, 19:30
@Eddcapet

und jetzt hast du wieder das selbe problem wenn deine zeile zb 9 statt 8 lang ist

0
Tyldu  12.12.2022, 19:41
@Eddcapet

doch, eigentlich schon weil du nicht die zeile sondern die anzahl der zeilen auf 9 gesetzt hast

die frage war nicht nach einem schachbrett sondern nach "sowas wie ein schachbrett"

im besten fall sollte die lösung natürlich für jede mögliche anzahl an spalten und reihen funktionieren, alles andere wäre pfusch

0
Tyldu  12.12.2022, 19:45
@Eddcapet

klar, wenn du deine alte lösung dann wieder verwendest...

deine erste lösung funktioniert nicht für gerade reihenlängen und deine zweite nicht für ungerade, gib es doch einfach zu und präsentier EINE lösung die für beides funktioniert

0
int width = 8;
int height = 8;
        
for (int y = 0; y < height; y++) {    
  for (int x = 0; x < width; x++) {
    System.out.print(x % 2 != y % 2 ? "a" : "b");        
  }
  System.out.println();
}

hier hast du eine lösung die für alle möglichen grid größen funktionieren sollte

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik