prüfe ob etwas in einer Matrix steht...

noetig

Mitglied
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?
 

0x7F800000

Top Contributor
Ich suche nun seit einer Stunde...
wo?... Ist ja nicht so, als ob es eine riesen dokumentation für Arrays von primitiven datentypen gäbe?
Suche eine Funktion die meine Matrix mymatrix vom Typ double[5][5] überprüft, ob etwas darin enthalten ist.
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.
 

function

Bekanntes Mitglied
null reicht
[edit]
sry
null bei Double[]
0 wäre double[] - also es steht dann immer mindestens 0 drin
[/edit]
 
Zuletzt bearbeitet:

Marco13

Top Contributor
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.
 

noetig

Mitglied
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...

jemand ne idee?
 

Marco13

Top Contributor
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:
 

noetig

Mitglied
hab da einen ansatz.

Java:
//zwei for schleifen
            //kein pfeil
                if(matrix[i][j] == -1){
                }
                //pfeil muss da sein und kann auf >0 geprüft werden
                else
                {
                    if (matrix[i][j] > 0){
                        // richtig
                    }
                }

könnte man das so machen?
 

Marco13

Top Contributor
Da spricht nichts dagegen. Ggf. würde schon sowas reichen:
Java:
for (int r=0; r<matrix.length; r++)
{
    for (int c=0; c<matrix[r].length; c++)
    {
        if(matrix[r][c] != -1)
        {
            // ... ???
        }
        else
        {
            if (matrix[r][c] > 0)
            {
                        // richtig
            }
        }    
    }
}

Bei einer Matrix der Größe 0x0 würden diese Schleifen dann halt einfach "gar nicht" durchlaufen werden.

Du hattest aber geschrieben, die Einträge können " -1, -1.5, 0, 5 sein"... Deswegen war das die Sache mit dem -1 nicht so klar...
 

noetig

Mitglied
ok, so habe ich das auch hingebastelt.

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.
sehr gut...

Du hattest aber geschrieben, die Einträge können " -1, -1.5, 0, 5 sein"... Deswegen war das die Sache mit dem -1 nicht so klar...

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.
 

flowlo

Mitglied
Mein Vorschlag wäre, als leeren Zustand [c]Double.NaN[/c] zu definieren.

Java:
if (matrix[i][j] == Double.NaN) {
   // Stelle leer
}
else {
   // Stelle besetzt
}

Mit dieser Lösung verlierst du keine echten Zahlen für den Leerzustand und übersichtlicher finde ich es auch.

Nachteil: Du musst die Matrix nach der Initialisierung mit [c]Double.NaN[/c] füllen.

LG
flowlo
 

Marco13

Top Contributor
OK, wie die Zahlen und ihre Bedeutung dann zu interpretieren sind, muss du dir halt überlegen... Etwas... "ungünstig" könnte eben sein, dass bei
Java:
        if(matrix[r][c] != -1)
        {
            // AAA
        }
        else
        {
            if (matrix[r][c] > 0)
            {
                // BBB
            }
        }
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 drin
    System.out.println("Gültiger wert bei "+r+" "+c+": "+matrix[r][c]);
}
passender, aber das mußt du entscheiden...
 

Landei

Top Contributor
Mein Vorschlag wäre, als leeren Zustand [c]Double.NaN[/c] zu definieren.

Java:
if (matrix[i][j] == Double.NaN) {
   // Stelle leer
}
else {
   // Stelle besetzt
}

Mit dieser Lösung verlierst du keine echten Zahlen für den Leerzustand und übersichtlicher finde ich es auch.

Nachteil: Du musst die Matrix nach der Initialisierung mit [c]Double.NaN[/c] füllen.

LG
flowlo

Würde ich auch so machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
G Prüfe ob Exception Java Basics - Anfänger-Themen 12
H Prüfe auf zulässige Zeichen Java Basics - Anfänger-Themen 5
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
S Möglichkeit, mit g.draw etwas vor ein JTextfield zu „zeichnen“? Java Basics - Anfänger-Themen 7
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
D Etwas unsicher wie es weitergehen soll Java Basics - Anfänger-Themen 2
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
A Ich habe das Gefühl etwas grundlegendes falsch zu machen Java Basics - Anfänger-Themen 6
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
T Erste Schritte Textfeld abfragen ob etwas enthalten ist. Java Basics - Anfänger-Themen 17
O Etwas auf der Konsole ausgeben, usw. Java Basics - Anfänger-Themen 22
J Input/Output Scanner Input als etwas einsetzen Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Input/Output Prüfen wie oft etwas eingegeben wurde Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Gibt meiner Meinung etwas falsches aus. Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Habe ein frage wie man etwas macht. Java Basics - Anfänger-Themen 13
O Klassen etwas Bruchrechnern Java Basics - Anfänger-Themen 5
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
M Variablen Eine etwas andere if Abfrage ! Java Basics - Anfänger-Themen 10
D Etwas speichern Java Basics - Anfänger-Themen 5
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
J Etwas dauerhaft überprüfen, wie ? Java Basics - Anfänger-Themen 8
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
S Komponente sagen, sie soll etwas tun Java Basics - Anfänger-Themen 3
J Für 3 Sekunden etwas bestimmtes zeichnen Java Basics - Anfänger-Themen 8
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
S 0 wird negativ, wenn sie mit etwas negativen multipliziert wird. Warum? Java Basics - Anfänger-Themen 4
G gegen (etwas) programmieren Java Basics - Anfänger-Themen 11
Binary.Coder Vor und nach jeder Codezeile etwas einfügen Java Basics - Anfänger-Themen 3
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
G vor String etwas anhängen Java Basics - Anfänger-Themen 2
D Attributen und Methoden, etwas vergessen? Java Basics - Anfänger-Themen 6
T TCP, Empfang nur wenn wirklich etwas kommt Java Basics - Anfänger-Themen 6
F Etwas bestimmtes löschen Java Basics - Anfänger-Themen 13
S etwas schierige Ausgabe mit Systemout Java Basics - Anfänger-Themen 5
G Methode, die etwas hochzählt Java Basics - Anfänger-Themen 6
U etwas aufaddieren... acc. Java Basics - Anfänger-Themen 12
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
T RandomAccessFile - Wie schreibe ich etwas in eine txt Datei? Java Basics - Anfänger-Themen 5
G etwas is falsch? Java Basics - Anfänger-Themen 10
S Compile zu etwas Ausführbarem Java Basics - Anfänger-Themen 4
X Wie save ich etwas? Java Basics - Anfänger-Themen 6
R etwas andere for schleife Java Basics - Anfänger-Themen 2
G die etwas andere suche! Java Basics - Anfänger-Themen 22
M Über einen Button etwas zeichnen lassen Java Basics - Anfänger-Themen 5
L URL aufrufen und per get etwas übergeben Java Basics - Anfänger-Themen 6
K Einer Methode etwas zuweisen Java Basics - Anfänger-Themen 22
N aus einer file etwas auslesen. Java Basics - Anfänger-Themen 2
T Aus Klasse "B" in Klasse "A" etwas tun? Java Basics - Anfänger-Themen 8
G Programme etwas machen lassen. Java Basics - Anfänger-Themen 4
B Etwas in der konsole ausgeben ? Java Basics - Anfänger-Themen 7
G Programm soll nach bestimmter Zeit etwas tun Java Basics - Anfänger-Themen 24
B KeyListener (etwas bewegen) Java Basics - Anfänger-Themen 10
P Textdateischreiben, etwas fehlt noch bzw. 1 error kommt Java Basics - Anfänger-Themen 4
H in Textdateien etwas schreiben bzw. speichern Java Basics - Anfänger-Themen 2
D In String etwas einfügen. Java Basics - Anfänger-Themen 2
B Irgend etwas ist merkwürdig! brauche hilfe Java Basics - Anfänger-Themen 16
D Mein kleines Programm etwas schöner machen :-) Java Basics - Anfänger-Themen 13
G Gibt es so etwas wie eine Textfeldgruppe? Java Basics - Anfänger-Themen 2
R Dem Textfeld einer Internetseite etwas übergeben Java Basics - Anfänger-Themen 6
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben