Effacer le Scanner en Java
-
Effacer le
Scanner
en Java en utilisant la méthodenextLine()
-
Créer un nouvel objet
Scanner
pour effacer leScanner
en Java
![Effacer le Scanner en Java](/img/Java/feature-image---java-clear-scanner.webp)
La classe Scanner
en Java est souvent utilisée pour prendre des entrées ou des sorties. Nous créons un objet de la classe Scanner
pour utiliser ses fonctions.
Nous ne pouvons pas utiliser la méthode close()
de Scanner
parce qu’une fois qu’un Scanner
est fermé par cette méthode, nous ne pouvons pas prendre l’entrée comme le flux d’entrée a été fermé.
Il existe d’autres moyens d’effacer le Scanner
en Java, et vous trouverez ci-dessous des exemples qui expliquent ces méthodes.
Effacer le Scanner
en Java en utilisant la méthode nextLine()
Pour effacer le Scanner
et l’utiliser à nouveau sans le détruire, nous pouvons utiliser la méthode nextLine()
de la classe Scanner
, qui scanne la ligne courante et place ensuite le Scanner
à la ligne suivante pour effectuer toute autre opération sur la nouvelle ligne.
Dans l’exemple ci-dessous, à l’intérieur de la boucle while
, nous demandons à l’utilisateur une entrée et vérifions si c’est un binaire valide en utilisant hasNextInt(radix)
. Si c’est un binaire valide, alors il sera stocké dans la variable binary
, et si ce n’est pas une valeur binaire, alors un message sera imprimé pour demander à l’utilisateur d’entrer une valeur binaire valide.
Dans cette situation, si nous n’effaçons pas le Scanner
, la boucle ne se terminera jamais. Si la valeur n’est pas binaire, alors le Scanner
doit aller sur une nouvelle ligne pour prendre une nouvelle entrée. C’est pourquoi nextLine()
est utilisé pour sauter la ligne courante et aller à une nouvelle ligne.
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);
}
}
Production :
Créer un nouvel objet Scanner
pour effacer le Scanner
en Java
Une autre méthode pour effacer le Scanner
est de créer un nouvel objet Scanner
lorsque l’utilisateur tape une valeur autre qu’une valeur binaire. Cette méthode fonctionne car lorsqu’un nouvel objet est créé, l’objet Scanner
existant est effacé et un nouveau flux d’entrée est lancé.
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);
}
}
Production :
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