2dimensionales array aufgabe 2.3


Hallo,

hab ne kurze Frage… ich wollte einem Feld im Array ein Hochkomma zuweisen (array [][] = ’ ’ ';). Jedoch kommt dann diese Fehlermeldung “Invalid character constant”
Wie kann ich diesen Fehler beheben?

Vielen Dank :slight_smile:


Da ’ ein besonderes Zeichen ist, eben das Zeichen zur Begrenzung eines Charakterliterals, musst du den Escapecharakter \ voranstellen, also [m]array[i][j] = ‚'‘[/m].


Ja, alle Klassenvariablen, die du eben in der Aufgabe anlegen musst.


Wenn ich jetzt aber einem meiner selbst erzeugten arrays ein “public” voranstelle erhalte ich die Fehlermeldung “Illegal modifier for parameter x; only final is permitted”…


Ein Array ist auch kein Feld, soweit ich weiß. Deine Arrays stehen alle schon in public Methoden, die vorgegeben wurden, da brauchst/darfst du nichts dran ändern!
Es geht um die Felder, also Konstanten, oder Enums :slight_smile:

PS: keine Garantie! bin Erstsemester :smiley:


Hast du vielleicht versucht, einem Arraz innerhalb einer Methode ein public voranzustellen? Das funktioniert nicht (und ist auch nicht noetig). Mehr dazu erfaehrst du, sobald in der Vorlesung Sichtbarkeiten behandelt werden.


ah ok gut dann passt meine abgabe :stuck_out_tongue: danke, wollte nur auf nummer sicher gehen

Verständnisfrage zur Aufgabe 2.3. - “theCube”
Hallo Zusammen,

habe auch noch ne kurze Verständnisfrage zur Aufgabe 2.3.

Und zwar zum “theCube”. Man soll den Würfel 3x3 erstellen so weit so gut, Berrechnung des Wertes auch klar.

	// TODO: declare, fill and return a 3-dimensional array
	// of size 3x3x3 (try to imagine a http://en.wikipedia.org/wiki/Rubik's_Cube)
	// containing only integer numbers such that
	// the value at [x][y][z] == (x+1)*100+(y+1)*10+(z+1)
	// (e.g. cube[2][1][0] == 321)

Nun die Frage für die Füllung sollen alle zahlen 1-9 möglich sein oder nur von cube [0][0][0] -[2][2][2]. Denke fast zweitens.

Vorab Danke


Was meinst du mit „Fuellung“? In jeder Dimension hat das Array eine Groeße von 3, d.h. du hast insgesamt 333=27 Elemente. In jeder Dimension sind aber natuerlich nur die Indices von 0 bis 2 gueltig, da jede Dimension eben die Groeße 3 hat.


Dachte daran, dass das höchste Ergebnis die [331, 332, 333] ist wenn ja ist meine durchaus nicht ganz klare Frage hinfällig.


Die Zählung in einem Array geht von 0 bis zur Länge des Arrays - 1. Deswegen ist das höchste Ergebnis [331, 332, 333], denn man addiert zum Index immer 1 dazu.


meinte das Ergebnis mit [333] für das dazu passende Array [222]
// the value at [x][y][z] == (x+1)*100+(y+1)*10+(z+1)


Ich vermute, du bringst hier die Indices und die eigentlichen Werte durcheinander. Die moeglichen/gueltigen Indices ergeben sich aus den Dimensionen des Arrays, die Werte, die an den entsprechenden Stellen im Array stehen, sind unabhaengig von den Indices (außer natuerlich wie in diesem Fall, wenn sich der Wert aus der Position im Array ableiten laesst… ;))!

Edit: Aber ja, der groeßte Wert steht hier im Element cube[2][2][2], und dieser ist 333.

1 Like

K alles klar dank dir. Ja du hast recht :wink: