Gruppenaufgabe 3.4 a)

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Gruppenaufgabe 3.4 a)
Hallo, mein Gruppenpartner und ich haben leider einige Probleme mit Gruppenaufgabe 3.4 und kommen einfach nicht weiter.

In Teilaufgabe a) wird verlangt, die Variable screen zu initialisieren als ein zweidimensionales Array mit width Zeilen und height Spalten.

screen = new char [width][height];

Erledigt.

Nun soll man das Array noch mit Leerzeichen initialisieren.
Das Problem hierbei ist einfach, dass bei uns in jeglich versuchter Form die uns einfiel immer ein ArrayIndexOutofBoundsException Fehler kommt.
Was machen wir also falsch ?

Und noch eine Frage : Was genau ist in der Aufgabenstellung mit “char-s” gemeint oder ist das nur ein Schreibfehler ?


Schaut euch mal die Vorlesung 03 an, oder 04. Ganz am Ende wird das Spiel Schiffeversenken “programmiert”, dort findet das Spiel auch in einem zweidimensionalem Array statt, welches mit Wellen gefüllt wird, sollte euch helfen :wink:

Chars, ist einfach die Plural von Char, also ganz ganz viele ’ ’ :smiley:


Danke, haben es mittlerweile auch geschafft und sind nun bei Teilaufgabe c).

Da haben wir das Problem, dass sich in der Methode drawHorizontalLine die Methode draw() nicht aufrufen lässt, und einen Fehler rausgibt wenn wir draw(startx,y,lineChar) eingeben.
“Cannot convert from void to char”.

Soll man jetzt eine Methode casten oder wie darf ich das verstehen, damit das hinhaut :smiley: ?


Das klingt stark danach, als würdet ihr versuchen, den Rückgabewert der Methode zu speichern also, sowas:

char c = draw(x, y, lineChar);

draw ist vom Typ void, was bedeutet, dass die Methode keinen Rückgabewert hat. Daher der Fehler.


Das klingt so als wuerdest du versuchen einer Charvariablen den Rueckgabewert einer Funktion mit void zuweisen, was nicht geht, also sowas in der Art:

void foo(){} char bar = foo(); Wenn nichts zurueckgegeben wird, kannst du auch nichts konvertieren.
Davon abgesehen sollen alleine in draw(int, int, char) die Zuweisungen erfolgen


Okay vielen Dank an alle.
Sind nun fertig.