Was los mit dieser Aufgabe? Arrays mit Schachbrettmustern?

RememberdiAlamo

Aktives Mitglied
Hallo, liebe Comunity,
Ich komme mit dieser Aufgabenstellung nicht klar: Erzeugen Sie ein zweidimensionales Array der größe 8x8 und füllen sie es mit einem Schachbrettmuster.

Also Schachbrett hat ja 8x8 Felder somit gehts ja noch klar bis jetzt:

Java:
public static void main (String[] args){
	int [][] feld;
	feld = new int [8][8];

Weiß jemand wie ich diese AUfgabe hier machen soll? Wenn sowas im Praktikum kommt bin ich geliefert, denn nunja...fehlt die Durchsicht dafür, mal wieder. Und irgendwie hilft da kein :rtfm: Wir hatten imMo nichts mit G.U.I oder so in dieser Richtung. Wär jemand so freundlich mir mal Codeschnippsel zu hinterlassen? Ich weiß nicht ob man mir das so einfach erklären kann :bloed:
 
Zuletzt bearbeitet:
Welche IDE benutzt du? In eclipse kann man sich eine GUI einfach zusammenklicken. Einfach auf new, dann visual class und dann die Art aussuchen (ein AWT Frame wird reichen).
Das Zeichnen ist kein Problem. Dazu überschreibst du die paint(Graphics) Methode. Guck dir dazu mal Graphics an.
Die Schachbrettfelder sind auch kein Problem. Du machst zwei ineinander verschachtelte Schleifen, mit deren Variablen ein "Grundwert" multipliziert wird. Das Ergebnis daraus wird der fillRect(int, int, int, int) Methode vom Graphics übergeben. Zusätzlich muss du noch abwechselnd (z. B. mit einer Variable, die immer einen hoch gezählt wird , wenn du ein Feld gemalt hast. Ist der Rest einer Division durch 2 0, so ist das Feld schwarz. Ist der Rest 1, so ist das Feld weiß oder andersrum.
 
wie gesagt: Hatten nichts mit GUI. Und ich will einfach nur das Praktikum bestehen, also bitte so einfach wie möglcih erklären 🙂
Was wir können müssen bis jetzt... Arrays, Schleifen, Fallunterscheidungen, Typecasts und alles was unter diesem Niveau fällt. ich weiß voll lahm, aber nunja, so sind 1. Semester halt, die nur Elektrotechnik studieren 😉
 
Eventuell soll auch einfach nur z.B. Nullen und Einsen in ein zwei Dimesnionales Array geschrieben werden? Also 0=Schwarz und 1=Weiss.
 
@X5-599
Das müsste dann auch wieder befüllt werden. Da erst mal nur das Brett gezeichnet werden soll, denke ich, dass mein Ansatz einfacher ist. Wenn mit dem Brett weitergearbeitet wird, dann ist deiner besser.
 
Das würde aber am meisten Sinn machen. Der TS hat ja geschrieben, dass sie mit GUI noch nichts gemacht haben. Nur Grundlegendes wurde bisher behandelt.
Und wenn dann so eine Aufgabe gestellt wird, soll vermutlich mit Schleifen/ifs/modolo etc gearbeitet werden. Einfach um die Sprache besser kennen zu lernen und Algorithmen-Erstellungen zu üben.
 
Öhm, vielleicht sollst du ja auch sowas machen:
Java:
	public static void main (String[] args){
	    int [][] feld;
	    feld = new int [8][8];
	    int k = 0;
	    for (int i = 0; i < 8; i++){
	    	for(int j= 0; j < 8;j++){
	    		feld[i][j] = k++ % 2; 
	    	}
	    	k++;
	    }
	    
	    for (int i = 0; i < 8; i++){
	    	for(int j= 0; j < 8;j++){
	    		System.out.print(feld[i][j]); 
	    	}
	    	System.out.println("");
	    }
	}

Geht bestimmt schöner, aber ein wenig was machen sollst du ja auch noch 🙂 .
Anstatt 1 und 0 kannst du ja noch ein schönes ASCII-Symbol nehmen.
 
Zuletzt bearbeitet:
Das würde aber am meisten Sinn machen. Der TS hat ja geschrieben, dass sie mit GUI noch nichts gemacht haben. Nur Grundlegendes wurde bisher behandelt.
Und wenn dann so eine Aufgabe gestellt wird, soll vermutlich mit Schleifen/ifs/modolo etc gearbeitet werden. Einfach um die Sprache besser kennen zu lernen und Algorithmen-Erstellungen zu üben.

genau. Ich verstand die Aufgabenstellung überhaupt nicht, WIE ich das machen soll. Ich hab grad nachgeguckt, wir hatten sowas gemacht, aber mit Schleifen.
Java:
class Aufgabe83{
    public static void main (String args[]){
             
            String s1 = "  ";
            String s2 = "||";
            
            for (int i = 0; i< 8;i++){
            	for (int j = 0; j <8 ;j++){
            		if (i % 2 != j % 2)
						System.out.print(s1);
            		else
            			System.out.print(s2);
           		}
           		
           		System.out.print("\n");
           }
    }
    
      
}

Muss das jetzt also irgendwie mit Arrays machen. Hmm...
 
Zuletzt bearbeitet:
Ich komme mit dieser Aufgabenstellung nicht klar: Erzeugen Sie ein zweidimensionales Array der größe 8x8 und füllen sie es mit einem Schachbrettmuster.

Ich bin überzeugt davon, dass der Ansatz mit "0" für Schwarz und "1" für weiß bzw. umgekehrt die Erwartung der Aufgabe erfüllt. Davon ein Schachbrett zu zeichnen ist an keiner Stelle die Rede.

Zu beachten wäre noch, dass bei einem Schachbrett aus Sicht eines Spielers immer ein weißes Feld in der rechten unteren Ecke befindet.

Sinnvoller Weise startet man also bei [0][0] mit weiß und kommt bei [8][8] wieder bei weiß an.

Das Schachbrettmuster wäre dann von oben links nach unten rechts hin aufgebaut.

Der Rest ist mit 2 for-Schleifen lösbar.

Gruß
 
Zuletzt bearbeitet:

Zurück
Oben