Ich suche nun seit einer Stunde...
Suche eine Funktion die meine Matrix mymatrix vom Typ double[5][5] überprüft, ob etwas darin enthalten ist.
Ich weiß nicht ob das sogar die Lösung wäre, deshalb frage ich lieber mal nach.
Java:
if(mymatrix[1][2]==null){//...//feld ist leer}else//feld ist mit wert gefüllt, dies kann -1, -1.5, 0, 5 sein...
Ich kann mir den Wert auch ausgeben lassen, aber es gibt keine Funktionen die ich anwenden könnte z.b. "mymatrix[1][2].getExist()" oder sowas ähnliches. Einfach um zu sehen ob darin ein Wert geschrieben ist oder nicht. Dürfte doch NULL prüfung genügen oder?
naja, irgendwas ist darin _immer_ enthalten, es gibt keine "null" für primitive datentypen.
Ich kann mir den Wert auch ausgeben lassen, aber es gibt keine Funktionen die ich anwenden könnte z.b. "mymatrix[1][2].getExist()" oder sowas ähnliches. Einfach um zu sehen ob darin ein Wert geschrieben ist oder nicht. Dürfte doch NULL prüfung genügen oder?
Wenn du ArrayLists statt dieser Arrays verwenden würdest, würde es mehr sinn machen. Allerdings wäre es imho unschön, zu irgendeinem Zeitpunkt eine Matrix im ungültigen Zustand mit lauter null-Einträgen zu lassen.
Ein double, bzw. primitive Typein wie int, float usw. allgemein können nicht null sein. Sie können höchstens 0 sein. Irgendwas steht also IMMER in dieser Matrix, im Zweifelsfall 0. Man könnte eine Matrix
Double matrix[][];
machen (groß geschrieben). Das sind dann Double-Objekte, die auch null sein können. Man könnte in eine double-Matrix auch Double.NaN reinlegen, was dann als "nichts" interpretiert werden könnte. Oder zusätzlich ein boolean[][], das besagt, welcher Eintrag "gültig" ist. Aber beschreib' ggf. mal genauer, was das werden soll.
Ein double, bzw. primitive Typein wie int, float usw. allgemein können nicht null sein. Sie können höchstens 0 sein. Irgendwas steht also IMMER in dieser Matrix, im Zweifelsfall 0. Man könnte eine Matrix
Double matrix[][];
machen (groß geschrieben). Das sind dann Double-Objekte, die auch null sein können. Man könnte in eine double-Matrix auch Double.NaN reinlegen, was dann als "nichts" interpretiert werden könnte. Oder zusätzlich ein boolean[][], das besagt, welcher Eintrag "gültig" ist. Aber beschreib' ggf. mal genauer, was das werden soll.
ok deine antwort hilft mir schonmal. also es gibt keine "isempty()" wenn ich das richtig verstanden habe.
also was ich machen muss...
ich habe eine matrix und darin enthalten sind pfeile, oder eben keine. keine pfeil bedeutet dass da ne -1 drin steht. pfeil bedeutet dass er der wert > 0 sein muss.
die matrix kann aber auch von der länge 0 sein, also matrix[0][0], dann wären ja gar keine felder da um zu prüfen ob -1 oder über 0 drin steht...
Hmja, da hakt's halt jetzt am Vokabular und anderen Dingen. Wenn das schon reicht: Man könnte die Matrix am Anfang mit lauter "-1"en füllen. Später kann man dann abfragen
if (matrix[x][y] == -1) nixDrin();
Wenn die Matrix "länge 0" hat, also 0x0 Einträge, dann gibt's eben nichts, worauf man zugeifen könnte... :bahnhof:
Da spricht nichts dagegen. Ggf. würde schon sowas reichen:
Bei einer Matrix der Größe 0x0 würden diese Schleifen dann halt einfach "gar nicht" durchlaufen werden.
ja es könnten falsche werte mit gegeben werden, es dürfen aber am ende nur -1 und alles über 0 übernommen werden, sollte ein wert falsch sein muss ich einfach eine leere matrix erstellen.
nicht alle Fälle "abgedeckt" sind. Wenn in der Matrix 0 steht, tritt weder AAA noch BBB ein, dann wird da nichts gemacht. Und bei einer negativen Zahl (außer -1) wird dort auch nichts gemacht. Vielleicht wäre ein
Java:
if(matrix[r][c]<0){// Fehlermeldung, oder was auch immer...System.out.println("Ungültiger wert bei "+r+" "+c+": "+matrix[r][c]);}else{// Da steht ein Wert >= 0 drinSystem.out.println("Gültiger wert bei "+r+" "+c+": "+matrix[r][c]);}
ich erledige das thema mal... ich denke bin ganz knapp an der Lösung. Die NaN kann ich leider nicht verwenden, da vorgabe ist, dass die Matrix mit -1 oder Wert >0 gefüllt sein muss. mit NaN darf ich also nichts machen :/