Beispielprogramm:
1. Verwenden Sie den Scanner, um Ganzzahl- oder Gleitkommadaten von der Tastatur zu lesen
2. Verwenden Sie BufferedReader, um eine Zeichenfolge von der Tastatur zu lesen und in die Datei abc.txt zu schreiben
Beschreibung der JDK1.5-Scannerklasse
Scanner ist eine neue Klasse, die in SDK1.5 hinzugefügt wurde. Sie können diese Klasse jedoch zum Erstellen eines Objekts verwenden.
Scannerleser=neuer Scanner(System.in);
Anschließend ruft das Reader-Objekt die folgenden Methoden (Funktionen) auf, um verschiedene vom Benutzer in der Befehlszeile eingegebene Datentypen zu lesen:
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
Verwenden Sie die Methode nextLine(), um eine Zeile einzugeben, die Leerzeichen enthalten kann. Wenn Sie ein Wort lesen, können Sie die Methode .next() aufrufen
3. Der Unterschied zwischen Scanner und BufferedReader
Bei der Eingabe von Daten in ein Programm im Befehlszeilenmodus können wir das Standard-Eingabezeichenfolgenobjekt System.in verwenden. Wir verwenden es jedoch nicht oft direkt, da die von System.in bereitgestellte Lesemethode jeweils nur ein Wort lesen kann. Ein Datenabschnitt ist ein Datenabschnitt, und was wir normalerweise zum Lesen einer Zeichenfolge oder einer Zahl verwenden, sind die von der Lesemethode bereitgestellten Funktionen für uns daher nicht von großem Nutzen.
In Java SE 6 können Sie die Scanner-Klasse verwenden, um Benutzereingaben zu erhalten. Die Scanner-Klasse befindet sich im Paket java.util. Wenn Sie Scanner verwenden möchten, um Benutzereingaben zu erhalten, müssen Sie den Import java.util.Scanner hinzufügen. Aussage von .import Die Funktion besteht darin, dem Compiler mitzuteilen, dass Sie die Scanner-Klasse im Paket java.util verwenden werden.
Schauen wir uns ein Beispiel an:
Führen Sie das obige Programm aus und Sie werden sehen, dass die von Ihnen eingegebene Zeichenfolge wie folgt angezeigt wird.
Werfen wir einen Blick auf die Bedeutung jeder Anweisung in diesem Programm:
Neu bedeutet im Programm, dass ein Objekt der Scanner-Klasse erstellt wird. Sie müssen jedoch auch System.in als Parameter verwenden. in Der Unterstützer des Objekts, System.in, erhält den vom Benutzer eingegebenen Inhalt und übergibt ihn zur Verarbeitung an Scanner.
In der Scanner-Klasse werden mehrere Methoden bereitgestellt:
next(): Einen String abrufen;
nextInt(): Konvertieren Sie die erhaltene Zeichenfolge in eine Ganzzahl vom Typ int;
nextFloat(): Konvertieren Sie die erhaltene Zeichenfolge in den Float-Typ.
nextBoolean(): Konvertieren Sie die erhaltene Zeichenfolge in einen booleschen Typ.
Es ist sehr praktisch, den Scanner zu verwenden, um Benutzereingaben zu erhalten, aber der Scanner erhält Eingaben auf der Grundlage des Leerzeichens, einschließlich der Leertaste, der Tabulatortaste und der Eingabetaste. Wenn eine dieser Tasten gedrückt wird, kehrt der Scanner zur nächsten Eingabe zurück Wenn sich in der Mitte des Inhalts Leerzeichen befinden, kann die von Ihnen eingegebene Zeichenfolge natürlich nicht vollständig abgerufen werden. Derzeit können wir die Verwendung der BufferedReader-Klasse in Betracht ziehen. Tatsächlich in Java SE 1.4 und früher Versionen ist die Scanner-Methode noch nicht verfügbar. Wir verwenden auch BufferReader, wenn wir Eingaben erhalten.
Die BufferedReader-Klasse befindet sich im Paket java.io. Um diese Klasse verwenden zu können, müssen Sie also das Paket java.io einführen: java.io.BufferedReader importieren.
Die readLine()-Methode, die das BufferedReader-Objekt verwendet, muss die java.io.IOException-Ausnahme (Exception) behandeln.
Die Verwendung von BufferedReader zum Abrufen von Eingaben ist viel komplizierter zu verstehen. Diese Methode ist jedoch festgelegt. Befolgen Sie einfach vor jeder Verwendung dieselbe Methode.
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String text = buffer.readLine();
Die Methode readLine() gibt alle Zeichen zurück, die der Benutzer vor dem Drücken der Eingabetaste eingegeben hat, mit Ausnahme des letzten zurückgegebenen Zeichens der Eingabetaste.
Das vollständige Beispielprogramm lautet wie folgt:
}
4. Wie im folgenden Programm gezeigt: Klasse StringTest
Geben Sie nach der Ausführungsanweisung den Inhalt ein: Java + Klassenname, und er wird von args empfangen.
Weil args Befehlszeilenparameter empfängt.