Java Schachbrett erstellen?


31.10.2021, 16:57

So sieht es momentan aus

4 Antworten

Teilt die Aufgabe auf:

  1. Wie kann ein einziges Feld des Schachbretts gezeichnet werden?
  2. Wie kann eine einzige Reihe (bzw. wie können mehrere Spalten) des Schachbretts gezeichnet werden?
  3. Wie können mehrere Reihen eines Schachbretts gezeichnet werden?

Wie ihr merken solltet, stellt Punkt 2 eine Wiederholung von Punkt 1 dar und Punkt 3 eine Wiederholung von Punkt 2. Schleifen sind an der Stelle also angebracht.

Des Weiteren wäre es hilfreich, ermitteln zu können, ob ihr gerade eie un-/gerade Spalte vor euch habt. Eine Division mit Rest (Modulodivision) durch 2 liefert eine Antwort.

Rechenbeispiele:

4 % 2 = 0
5 % 1 = 1

Ein Schachbrett fängt oben links immer mit einem weißen Feld an, aber egal.

Ihr müsst ein zwei dimensionslesen Array machen. Das äußere hält die Reihen, die inneren die Felder für eine Reihe, zb.

[[*,_,*],

[_,*,_],

[*,_,*]]

Dann könnt ihr mit Array[1][1] bspw hier auf das mittlere Feld zugreifen.

public static void chess(int n) {
  for(int reihe = 0; reihe < n; reihe++) {
    for(int spalte = 0; spalte < n; spalte++) {
      if ((spalte+reihe)%2 == 0) System.out.print("*");
      else System.out.print(" ");
    }
    System.out.println(); //Am Ende jeder Reihe einen Newline-Character printen
  }
}
Woher ich das weiß:Studium / Ausbildung – Bachelor in Informatik 👨🏻‍🎓
Zyyree  31.10.2021, 04:53

Sie sollen Arrays benutzen. Stimmt nicht, sie versuchen, ok

0
MrAmazing2  31.10.2021, 04:56
@Zyyree

Es geht ihnen doch rein um die Ausgabe des Musters, was will man da mit einem Array. In der Frage klang das für mich eher einfach danach, dass sie keinen Plan haben und dachten dafür bräuchte man vlt. ein Array.

3
GymBuilder18 
Fragesteller
 31.10.2021, 16:41
@MrAmazing2

Und warum braucht man kein Array? Es geht doch um ein Zweidimensionales Muster.

0
MrAmazing2  31.10.2021, 16:42
@GymBuilder18

Ein Array benutzt man, um etwas zu speichern.

In dem Fall willst du das Muster aber einfach nur in der Konsole ausgeben, und nicht speichern. Daher brauchst du kein Array.

0
GymBuilder18 
Fragesteller
 31.10.2021, 16:47
@MrAmazing2

Achso ok und warum funktioniert der Command nicht? Weil habs jz reinkopiert und es kommt nichts zustande. Ich bin da halt noch ein Anfänger weil ich einfach zu spät immatrikuliert worden bin :(

0
MrAmazing2  31.10.2021, 16:57
@GymBuilder18

Ein Java-Programm braucht immer eine Main-Methode.

Diese wird beim Programmstart aufgerufen.

Von dieser aus kannst du dann

chess(7);

oder so machen, um die Funktion aaufzurufen, die ich dir gegeben habe.

   public static void main(String args[]) {
       chess(3);
   }
0
GymBuilder18 
Fragesteller
 31.10.2021, 16:58
@MrAmazing2

Ich hab nen Screenshot gemacht. Kannste ja mal nachgucken, also ich kann kein Java run starten

0

Fange zunächst am Besten mit einem Tutorial an. Auf Youtube oder so.

GymBuilder18 
Fragesteller
 31.10.2021, 11:21

Das haben wir, aber ich glaube wie man an die Sache rangeht ist unser Problem

0