Cancella scanner in Java
-
Java Clear Scanner utilizzando
nextLine()
-
Crea un nuovo oggetto
Scanner
per cancellare loScanner
in Java
La classe Scanner
in Java viene spesso utilizzata per ricevere input o output. Creiamo un oggetto della classe Scanner
per utilizzare le sue funzioni.
Non possiamo usare il metodo close()
di Scanner
perché una volta che uno Scanner
viene chiuso con questo metodo, non possiamo accettare l’input poiché il flusso di input è stato chiuso.
Ci sono altri modi per cancellare lo Scanner
in Java e di seguito sono riportati gli esempi che spiegano questi metodi.
Java Clear Scanner utilizzando nextLine()
Per cancellare lo Scanner
e usarlo di nuovo senza distruggerlo, possiamo usare il metodo nextLine()
della classe Scanner
, che scansiona la riga corrente e quindi imposta lo Scanner
sulla riga successiva per eseguire eventuali altre operazioni sulla nuova linea.
Nell’esempio sotto, all’interno del cicli while
, chiediamo all’utente un input e controlliamo se è un binario valido usando hasNextInt(radix)
. Se è un binario valido, verrà memorizzato nella variabile binary
, e se non è un valore binario, verrà stampato un messaggio per chiedere all’utente di inserire un valore binario valido.
In questa situazione, se non cancelliamo lo Scanner
, il bucle non finirà mai. Se il valore non è binario, lo Scanner
dovrebbe andare su una nuova riga per ricevere un nuovo input. Questo è il motivo per cui nextLine()
viene utilizzato per saltare la riga corrente e passare a una nuova riga.
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);
}
}
Produzione:
Crea un nuovo oggetto Scanner
per cancellare lo Scanner
in Java
Un altro metodo per cancellare lo Scanner
è creare un nuovo oggetto Scanner
quando l’utente digita un valore diverso da un valore binario. Questo metodo funziona perché quando viene creato un nuovo oggetto, l’oggetto Scanner
esistente viene cancellato e viene avviato un nuovo flusso di input.
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);
}
}
Produzione:
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