Was bedeutet hasNext() in einer While-do?
Ich bin neu in JAVA, und ich versuche, das Lesen von Daten von einem .txt-Datei. Ich habe implementiert eine Scanner-Objekt " in " Scanner in=new Scanner("file.txt");
und dann unten der code eine while-Schleife zum Durchlaufen durch den Inhalt der Datei.Es gibt mehrere Zeilen von Daten in der Datei und in jeder Zeile gibt es drei Saiten (security-Nummer ,Vorname ,Nachname : 01 Thomas Anderson)
while(in.hasNext()){
String ss = in.next();
String FName=in.next();
String LName=in.next();
System.out.printf("SSN: %s, FirstName: %s, LastName: %s \n",ss,FName,LName);
}
Also,was macht die hasNext () - Methode tun? Siehts zum Ende der Zeile oder die Letzte Zeile in der Datei oder.... ?
BITTE näher auf die arbeiten der oben genannten snippet (mit Angabe der next () - Methode)
🙂
- Haben Sie Lesen Sie die Dokumentation des
Scanner.hasNext()
Methode in der API-Javadoc? Denn wenn Sie nicht, und Ihre erste Reaktion zu sehen, eine Methode fragt hier, was es bedeutet, Sie gehen zu müssen, eine Menge Fragen.... Wenn du hast, bitte etwas konkreter über das, was Sie nicht verstehen. - Haben Sie schaute auf die javadoc -? Gab es irgendwelche Teile, was wir unklar
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich empfehlen, Blick auf die Javadoc, aber ich erkläre es für Sie so einfach wie ich kann.
Grundsätzlich die hasNext () - Methode gibt
true
wenn das Dokument einen anderen string enthält. Also warum das snippet wird die Schleife, wenn die besagte Dokument hat einer anderen Zeichenfolge. Einmal gibt es keine mehr Zeichenfolgen im gesamten Dokument, hasNext() gibt zurückfalse
.Hier ist ein Beispiel für die next () - Methode:
String myString = myScanner.next();
Dies macht myString gleich die nächste Zeichenfolge in das angegebene Dokument.
Javadoc sagt:
Lesen Sie alle Ihre Datei die Zeilen, die Sie haben zu prüfen, ob es Token jeder Zeile. Dann rufen Sie 3 mal die nächste Methode, da Sie wissen, es wird 3 Token pro Zeile: