2.3 leere Zeilen

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.

2.3 leere Zeilen
Aus der Aufgabenstellung:
Sie dürfen in beiden Methoden annehmen, dass die Tabellen rechteckig sind. Beachten Sie aber, dass es trotzdem auch Tabellen geben kann, die leere Zeilen oder leere Spalten enthalten - in diesem Fall ist die Zeichenkette bzw. das jeweilige Summen-Array ebenfalls leer (wobei hier durchgehend leer nicht null bedeutet)!
(Hervorhebungen durch mich)

Nach meinen bescheidenen Java-Kenntnissen kann man wohl
ein mehrdim. Array nur mit leeren Zeilen erzeugen, nicht mit leeren Spalten.
(bei direkter Initialisierung, z.B. float[][] table4 = { { 21, 42}, { }, { 666, 90_60_90 } }:wink:

sehen das andere auch so??
In dem Fall gäbe es keine Einträge im Summen-Array, die leer sein müssen,
da ja nur einzelne Zeilen beim addieren übersprungen werden müssen, aber irgend eine lange
Zeile ist schon dabei, die was addieren lässt.

(Nebenbei: außerdem sind das dann für mich keine rechteckigen Felder mehr!)

Also habe ich eine entsprechende Pruefung bei der Spalten-Addition eingebaut,
damit ich nicht versuche leere Feld-Einträge zu addieren.

ABER:
wenn ich Zeilen-Addition durchführe, dann müsste auch im Summen-Array ein Eintrag leer sein.
Für die Summen hab ich ein passend langes double-Array gebildet,
das hat bei der Initialisierung ja automatisch den WERT Null in jedem Eintrag drinnen!

Es ist mir nicht bekannt, dass man überhaupt 1-dim Arrays bilden kann, bei denen einzelne Einträge LEER sind.

Kann da jemand helfen?
Geht wohl nicht darum, den letzten einsamen Punkt zu ergattern, sondern darum, das mit den Arrays besser zu verstehen…


Ich kenn die Aufgabe nicht im Detail, aber ich glaube, dass einfach ein Array der Länge 0 gemeint ist. Dann ist der Eintrag in der äußeren Dimension eben nicht null, sondern ein leeres Array, und du kannst dir Sonderbehandlungen sparen. (Z.B. wenn du auf das Array mit einer Schleife zugreifst, die vom ersten bis letzten Arrayelement iteriert - die tut dann einfach gar nichts, bei nem Nullpointer gäbe es beim Abfragen der Arraylänge eine NullPointerException.)


Mich würde interessieren, was dann wirklich ausgegeben werden soll.

Wenn ich Spaltenweise addieren will, aber ich eine leere Zeile habe, was passiert? Soll 0 ausgegeben werden, die Addition ohne die Zeile einfach weitergemacht werden? Soll das überhaupt möglich sein, oder wird nur leere Spalte bei Spaltenweiser Addition bzw. leere Zeile bei Zeilenweiser Addition geprüft?


So als Denkanstoß: Ist das noch „rechteckig“?

Und an alle die noch an der Aufgabe knobeln: Hab ihr den erweiterten [m]main[/m]-Testcase, der seit 31.10 online ist schon gefunden?


Eben! nix rechteckig. Sag ich ja! (Hab’s mir nur leider selber nicht geglaubt… :frowning: )
Wirklich exaktes Lesen der Aufgabenstellung hätte wieder geholfen :frowning:
"…in diesem Fall ist die Zeichenkette bzw. das jeweilige Summen-Array ebenfalls leer "
Ok, ich denke, ich hab mir das Leben unnötig schwer gemacht,
gemeint sein dürfte in der Aufgabenstellen, dass damit u.U. ganz simpel die ganze Tabelle leer ist,
nicht was ich da mit eingebauten „Löchern“ rumüberlegt habe.
Na ja, wenigstens hab’ ich mich damit ein bischen mit mehr-dim-Arrays beschäftigt…