Scanner löschen in Java
-
Java-Scanner löschen mit
nextLine()
-
Erstellen eines neuen
Scanner
-Objekts zum Löschen desScanners
in Java
Die Klasse Scanner
in Java wird oft verwendet, um Eingaben oder Ausgaben entgegenzunehmen. Wir erstellen ein Objekt der Klasse Scanner
, um ihre Funktionen zu nutzen.
Wir können die Methode close()
von Scanner
nicht verwenden, denn sobald ein Scanner
durch diese Methode geschlossen wird, können wir keine Eingaben mehr entgegennehmen, da der Eingabestrom geschlossen wurde.
Es gibt andere Möglichkeiten, den Scanner
in Java zu löschen, und im Folgenden werden diese Methoden anhand von Beispielen erläutert.
Java-Scanner löschen mit nextLine()
Um den Scanner
zu löschen und ihn wieder zu verwenden, ohne ihn zu zerstören, können wir die Methode nextLine()
der Klasse Scanner
verwenden, die die aktuelle Zeile scannt und dann den Scanner
auf die nächste Zeile setzt, um weitere Operationen auf der neuen Zeile durchzuführen.
Im folgenden Beispiel wird innerhalb der while
-Schleife der Benutzer um eine Eingabe gebeten und mit hasNextInt(radix)
geprüft, ob es sich um eine gültige Binärzahl handelt. Wenn es ein gültiger Binärwert ist, dann wird er in der Variablen binary
gespeichert, und wenn es kein Binärwert ist, dann wird eine Meldung ausgegeben, um den Benutzer aufzufordern, einen gültigen Binärwert einzugeben.
Wenn wir in dieser Situation den Scanner
nicht löschen, wird die Schleife niemals enden. Wenn der Wert nicht binär ist, dann sollte der Scanner
zu einer neuen Zeile gehen, um eine neue Eingabe entgegenzunehmen. Aus diesem Grund wird nextLine()
verwendet, um die aktuelle Zeile zu überspringen und zu einer neuen Zeile zu gehen.
import java.util.Scanner;
public class ClearScanner {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int binary = 0;
int radix = 2;
while (binary == 0) {
System.out.print("Please input a valid binary: ");
if (input.hasNextInt(radix)) {
binary = input.nextInt(radix);
} else {
System.out.println("Not a Valid Binary");
}
input.nextLine();
}
System.out.print("Converted Binary: " + binary);
}
}
Ausgabe:
Erstellen eines neuen Scanner
-Objekts zum Löschen des Scanners
in Java
Eine andere Methode, den Scanner
zu löschen, besteht darin, ein neues Scanner
-Objekt zu erzeugen, wenn der Benutzer einen anderen Wert als einen binären Wert eingibt. Diese Methode funktioniert, weil beim Erstellen eines neuen Objekts das vorhandene Scanner
-Objekt gelöscht wird und ein neuer Eingabestrom gestartet wird.
import java.util.Scanner;
public class ClearScanner {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int binary = 0;
int radix = 2;
while (binary == 0) {
System.out.print("Please input a valid binary: ");
if (input.hasNextInt(radix)) {
binary = input.nextInt(radix);
} else {
System.out.println("Not a Valid Binary");
}
input = new Scanner(System.in);
}
System.out.print("Converted Binary: " + binary);
}
}
Ausgabe:
Please input a valid binary: 23
Not a Valid Binary
Please input a valid binary: 11101
Converted Binary: 29
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn