Iterator

Mozza

Mitglied
Hallo, ich bin recht neu in der Java Welt und habe ein kleines Problem mit einem Quelltext.

hier mal der Auszug der betreffenden Methode:

Java:
    public static Set<Integer> getRelevanteZiehungen(Set<Integer> getipteZahlen)
    {
      
        for(int i = 1; i<=ziehungsSpeicher.size();i++)
        {
            Set<Integer> gezogen = ziehungsSpeicher.get(i);
            int getroffeneAnzahl = 0;
            for(Iterator<Integer> getipteZahl = getipteZahlen.iterator(); getipteZahl.hasNext();) // <- this
            {
  
                if (gezogen.contains(getipteZahl))
                {
                    getroffeneAnzahl++;
                }
            }
           System.out.println("getroffene Anzahl" + getroffeneAnzahl +" bei ziehung " + i);
      }
        return getipteZahlen;
    }
}
Wenn ich das Programm compiliere, erhalte ich jedes mal eine Null.Pointer.Exception in der markierten Zeile, ich weiß allerdings nicht warum. wahrscheinlich benutze ich den Iterator verkehrt?!

Ich hoffe jemand kann mir dabei helfen
 
Zuletzt bearbeitet von einem Moderator:

Elenteria

Bekanntes Mitglied
ich geh mal davon aus das getippeZahlen niergens initialisiert wurde.

Außerdem hast du noch weitere Fehler drin. Zum einen hast du dir eine Endlosschleife gebaut und zum anderen wird getroffeneAnzahl niemals erhöht werden da du hier prüfst ob gezogen getippteZahl enthält was niemals der Fall sein wird.
 

Joose

Top Contributor
Wenn ich das Programm compiliere, erhalte ich jedes mal eine Null.Pointer.Exception in der markierten Zeile, ich weiß allerdings nicht warum.

Beim kompilieren kannst du keine Exception bekommen sondern einen Compile Error.
Eine Exception kann erst zur Laufzeit passieren wenn dein Programm ausgeführt wird.

Eine NullPointerException fliegt immer dann wenn wo vergessen wurde einer Variable ein Objekt zuzuweisen und man damit arbeiten will.
Elenteria hat dir schon gesagt wo du ansetzen solltest :)
 

Mozza

Mitglied
Ehrlich gesagt helfen mir eure Antworten nicht wirklich weiter ;)

Wenn ich die Variable Iterator<Integer> getipteZahl = null; z.B. so initialisiere dann sagt er mir das die lokale Variable doppelt vorhanden ist. wie kann ich sie andersweitig initialisieren?
 

Mozza

Mitglied
getRelevanteZiehungen wird in meinem BenutzerMenue aufgerufen.
Die entsprechende Zeile schaut so aus

ZiehungsSpeicher.getRelevanteZiehungen(getipteZahlen);
 

fhoffmann

Top Contributor
Ich wundere mich, dass der Code compilierbar sein soll. getipteZahl ist ein Iterator und kein Integer. Deshalb sollte der Aufruf gezogen.contains(getipteZahl) zu einem Compilerfehler führen.
 

Mozza

Mitglied
getipteZahlen bekommt seine Werte hier rüber:

getipteZahlen = new Tipp().getInput();

in newTipp().getInput() kann der Benutzer über einen Scanner seinen Tipp abgeben, dieser wird dann als return zurück gegeben
 

InfectedBytes

Top Contributor
und dann ist noch die frage, warum du den iterator überhaupt manuell verwendest.
für genau sowas gibt es ja extra die for-each schleife
Java:
for(Integer i : getippteZahlen) {

}
 

Harry Kane

Top Contributor
getipteZahlen = new Tipp().getInput();
in newTipp().getInput() kann der Benutzer über einen Scanner seinen Tipp abgeben, dieser wird dann als return zurück gegeben
Das heisst, du hast irgendeine "Masterklasse", die new Tipp().getInput() aufruft und den Rückgabewert der Methode als Argument für ZiehungsSpeicher.getRelevanteZiehungen(). Und wie ist der Quellcode von getInput() aus der Tipp-Klasse? Überprüfst du an irgendeiner Stelle, ob getipteZahlen ungleich null ist?
 

Elenteria

Bekanntes Mitglied
Na dann würde ich sagen schau mal ob new Tip().getInput() überhaupt das richtige zurück liefert. Wenn dem so sein sollte dann würde ich mal schauen ob die Aufrufreihenfolge korrekt ist. Nicht das du das alles so gebaut hast das getRelevanteZahlen vor der getInput() methode aufgerufen wird.
 

Mozza

Mitglied
Genau. in getInput() werden mehrere eingaben des Benutzer in ein HashSet gegeben. somit ist ja ausgeschlossen das der Wert null ist.
 

JStein52

Top Contributor
Hast du mal im Debugger geschaut was dein Parameter getipteZahlen denn nun wirklich enthält ? Die For-each-Schleife von @InfectedBytes ist auf jeden Fall am lesbarsten und richtig. Dein Fehler kommt woanders her.
 

Mozza

Mitglied
Die getInput() sieht so aus
Java:
Set<Integer> input = new HashSet<>();
 
    public Set<Integer> getInput()
    {
        Scanner sc = new Scanner(System.in);
        Set<Integer> input = new HashSet<>();
       
          for(int i = 0; input.size() < 6; i++)
            {
              System.out.print("Eingabe der " + (i + 1) + ". Zahl: ");
              Integer obj = new Integer(sc.nextInt());
              if(obj <= 49)
                  {
                      input.add(obj);
                  }
              else
                  {
                      i--;
                  }
            }
          System.out.println("Ihr Tipp lautet \n" + input);
           return input;
    }
und zum Debugger... weiß leider nicht genau wie ich damit umgehen muss ;)
 
Zuletzt bearbeitet von einem Moderator:

Harry Kane

Top Contributor
Allmählich wirds anstrengend:
In dieser Zeile
for(Iterator<Integer> getipteZahl = getipteZahlen.iterator(); getipteZahl.hasNext();)
fliegt eine NPE. Entweder getipteZahlen ist null, oder gibt einen null-Iterator zurück. Letzteres kann ich mir nicht vorstellen. Ergo vermute ich sehr stark, das getipteZahlen null ist. Hast du das mal getestet?
 
Zuletzt bearbeitet:

Harry Kane

Top Contributor
du hast eine objektvariable namens input und eine lokale variable namens input.
ich würde mal vermuten du übergibst die Objektvariable, welche null ist.
Sowohl die Instanz- als auch die lokale Variable sind beide initialisiert. Und die getInput() Methode müsste die lokale Variable zurückgeben, es sei denn, der TE hat vor dem Posten ein paar this aus dem Code gelöscht.
 

Harry Kane

Top Contributor
Aber wo siehst du nun dass er diese auch wieder übergibt ?
Aus seinem Code? In seinem zuletzt geposteten Schnipsel hat er eine lokale input-Variable und eine ausserhalb der Methode stehende, die wohl eine Instanzvariable sein soll. In der Methode steht nirgendwo this, so dass die lokale Variable zurückgegeben wird. Dann wäre die Instanzvariable natürlich überflüssig.
Ob tatsächlich der Rückgabewert dieser Methode auch tatsächlich an ZiehungsSpeicher.getRelevanteZiehungen() übergeben wird, steht auf einem anderen Blatt. Das liesse sich erst klären, wenn der TE mal zusammenhängenden Code postet statt Puzzleteile.
 

InfectedBytes

Top Contributor
es ging auch nicht um den inhalt dieser methode, sondern um den Rückgabewert.
Hab mich zugegebenermaßen etwas falsch ausgedrückt^^
Meine Vermutung ist halt dass er eben nicht den Rückgabewert benutzt, sondern die Objekt Variable
 

Harry Kane

Top Contributor
es ging auch nicht um den inhalt dieser methode, sondern um den Rückgabewert.
Den Rückgabewert wovon? Von der getInput-Methode? Dann verstehe ich nicht, was du meinst.
So wie die getInput-Methode gepostet wurde, wird im Methodenrumpf eine Variable namens input deklariert und initialisiert und schliesslich mit return zurückgegeben.
Welche Variable er tatsächlich an die getRelevanteZiehungen Methode übergibt, ist allerdings unklar.
 

InfectedBytes

Top Contributor
die getInput methode scheint soweit korrekt zu sein.
Allerdings ist halt die Frage ob er den Rückgabewert dieser Methode überhaupt benutzt oder ob er die Objektvariable verwendet, weil er glaubt dass beides das gleiche ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
N Kann man einen Iterator nur einmal verwenden Java Basics - Anfänger-Themen 5
N Warum Springt iterator nur in der Schleife weiter Java Basics - Anfänger-Themen 9
volcanos HashSet und Iterator -> Falsche Sortierreihenfolge ? Java Basics - Anfänger-Themen 18
J Methoden Die Reihenfolge der Iterator-Elemente umkehren Java Basics - Anfänger-Themen 3
J Methoden iterator for-schleife (hasNext() ) Java Basics - Anfänger-Themen 7
Stargirlxo Iterator + Methode Java Basics - Anfänger-Themen 10
G Java Listen und Iterator Java Basics - Anfänger-Themen 2
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
F nur das erste Element mit iterator ausgeben Java Basics - Anfänger-Themen 5
O Iterator erneut! Java Basics - Anfänger-Themen 8
O Iterator für eine geordnete Menge Java Basics - Anfänger-Themen 134
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
K Iterator zurückliefern Java Basics - Anfänger-Themen 8
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
S Iterator einer Liste Java Basics - Anfänger-Themen 4
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
I Erste Schritte Iterator Java Basics - Anfänger-Themen 3
M Iterator funktioniert nicht Java Basics - Anfänger-Themen 5
M Iterator cannot refer to a non final... Java Basics - Anfänger-Themen 20
O Interface Iterator Java Basics - Anfänger-Themen 2
M Collections Frage Beispielprogrammierung Iterator Java Basics - Anfänger-Themen 13
J Iterator Funktioniert nicht richtig in StackImplementierung Java Basics - Anfänger-Themen 3
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
L Iterator Java Basics - Anfänger-Themen 1
K Nutzung einer Klasse die das Iterator-Interface implementiert Java Basics - Anfänger-Themen 0
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
M Collections Iterator und generischer Baum Java Basics - Anfänger-Themen 0
O Kleine Frage zu Iterator und Iterable Java Basics - Anfänger-Themen 6
OnDemand Iterator Interfacve Java Basics - Anfänger-Themen 23
S Iterator next() Nullpointer Java Basics - Anfänger-Themen 2
T Methoden Iterator über ArrayList Java Basics - Anfänger-Themen 3
W Iterator Java Basics - Anfänger-Themen 2
D Aufgabe: Stack mit Iterator Java Basics - Anfänger-Themen 8
R Mit iterator auf Element zugreifen Java Basics - Anfänger-Themen 2
T Collections Zugriff auf Elemente aus Iterator() Schleife Java Basics - Anfänger-Themen 4
P Casting Warning bei Iterator Java Basics - Anfänger-Themen 32
F Wie Werte einer ArrayList an einen 'Custom'-Iterator übergeben? Java Basics - Anfänger-Themen 2
J Iterator Java Basics - Anfänger-Themen 5
P ArrayList mit Iterator / Iterable ausgeben Java Basics - Anfänger-Themen 8
B Funktionsweise Iterator unklar Java Basics - Anfänger-Themen 7
A Datentypen Iterator von hinten nach vorne durchlaufen Java Basics - Anfänger-Themen 4
D Wie Iterator Remove implementieren? Java Basics - Anfänger-Themen 11
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
D Iterator schaltet nicht weiter?! Java Basics - Anfänger-Themen 5
A Problem mit Iterator Java Basics - Anfänger-Themen 2
B Türme von Hanoi - Iterator Java Basics - Anfänger-Themen 50
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
W Collections Iterator<E> Java Basics - Anfänger-Themen 7
L Lokale Variable und Instanzvariable innerhalb Iterator Java Basics - Anfänger-Themen 8
W OOP problem mit iterator! -.- Java Basics - Anfänger-Themen 9
B Iterator und Collection Java Basics - Anfänger-Themen 11
ruutaiokwu Iterator oder .size ??? Java Basics - Anfänger-Themen 6
vandread Iterator zählt nicht hoch?! Java Basics - Anfänger-Themen 3
L Problem mit Iterator bzw. Sortierte Liste Java Basics - Anfänger-Themen 14
N HashMap mit Iterator durchlaufen Java Basics - Anfänger-Themen 11
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
J Verschachtelte for-Schleife mit Löschen von Iterationen. Wie über Iterator abbilden? Java Basics - Anfänger-Themen 6
M Iterator Java Basics - Anfänger-Themen 15
L Implementation gesucht - ArrayList.iterator() Java Basics - Anfänger-Themen 3
M Eigener Iterator für LinkedList Java Basics - Anfänger-Themen 20
pun Iterator über ArrayList Java Basics - Anfänger-Themen 12
P Iterator.add() Java Basics - Anfänger-Themen 3
A For Schleife - Iterator wird null Java Basics - Anfänger-Themen 7
? Map und iterator Java Basics - Anfänger-Themen 11
0x7F800000 ungereimtheiten mit Iterator/ListIterator Java Basics - Anfänger-Themen 2
N "Dynamischer" Iterator Java Basics - Anfänger-Themen 21
J Iterator remove()? Java Basics - Anfänger-Themen 5
T Liste mit Iterator auslesen Java Basics - Anfänger-Themen 11
Kr0e Iterator Java Basics - Anfänger-Themen 2
D iterator instanziieren! Java Basics - Anfänger-Themen 11
M Der Umgang mit Iterator - Wie ein Objekt aus einer ArrayList Java Basics - Anfänger-Themen 2
J ArrayList mit Iterator Java Basics - Anfänger-Themen 3
W Iterator in Queue Java Basics - Anfänger-Themen 5
A Für was Iterator ? Java Basics - Anfänger-Themen 3
M warum interface iterator verwendbar? Java Basics - Anfänger-Themen 5
O Iterator - Durchlauf "einschränken" bzw. steuern&q Java Basics - Anfänger-Themen 2
K Collection und Iterator Java Basics - Anfänger-Themen 7
Q Iterator next erstellen Java Basics - Anfänger-Themen 4
S iterator problem Java Basics - Anfänger-Themen 3
S Iterator --__-- Zugriff auf nächstes Element Java Basics - Anfänger-Themen 5
N Set + Iterator oder doch nur zu blöd API zu lesen Java Basics - Anfänger-Themen 32
R Java 5.0 neue For schleife Iterator was ist der fehler? Java Basics - Anfänger-Themen 5
N generische HashMap und Iterator Java Basics - Anfänger-Themen 2
R Iterator und HashMap Java Basics - Anfänger-Themen 10
G Probleme mit Iterator Java Basics - Anfänger-Themen 2
E umgededrehte if anweisung funzt nicht , iterator. Java Basics - Anfänger-Themen 2
A Iterator, wie funkioniert das richtig? Java Basics - Anfänger-Themen 6
S Iterator Schreibweise Java Basics - Anfänger-Themen 7
P ArrayList, iterator: Fehler in while Schleife Java Basics - Anfänger-Themen 2
T Iterator Java Basics - Anfänger-Themen 8
G Frage zur Iterator ? Java Basics - Anfänger-Themen 12
A Iterator auf anfang setzen Java Basics - Anfänger-Themen 5
blackfeet Bildfadeffekt (Halptransparenz) & iterator Java Basics - Anfänger-Themen 8
C Problem mit verschachteltem Iterator Java Basics - Anfänger-Themen 2
R Problem mit Iterator Java Basics - Anfänger-Themen 6
M Problem mit Iterator.remove() Java Basics - Anfänger-Themen 5
R Enumeration oder Iterator? Java Basics - Anfänger-Themen 2
J Klasse Iterator Java Basics - Anfänger-Themen 5
D unregelmäßige NullPointerException bei LinkedList Iterator? Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben