Per utilizzare la classe scanner, deve essere importato per primo. Dopodiché, un oggetto deve essere istanziato da esso. Dopo aver usato l'oggetto scanner, deve essere chiuso. L'oggetto flusso di input che rappresenta la tastiera è il sistema.In. Lo scanner ha molti metodi. Solo quelli comunemente usati saranno spiegati in questo articolo.
Contenuto dell'articolo
Uso semplice della classe scanner
Il seguente codice chiede all'utente di digitare una frase, quindi visualizza la frase:
Importa Java.util.Scanner;La prima riga importa la classe scanner. Nella funzione principale, la prima riga crea un oggetto scanner usando il "sistema.in "oggetto per la tastiera. Non appena viene creato l'oggetto scanner, inizia ad aspettare l'input. La riga successiva stampa una dichiarazione, chiedendo all'utente di digitare una frase. La riga che segue nel codice utilizza il metodo NextLine () dell'oggetto scanner per leggere la frase dell'utente dopo aver premuto Invio. La riga dopo, nel codice, ristampa la frase alla finestra del terminale. L'ultima riga chiude l'oggetto scanner.
Sputare la riga di input in valori
Il seguente codice divide la riga di input in parole (token), usando lo spazio come delimitatore:
Importa Java.util.Scanner;Hasnext () e Next () sono altri due metodi dell'oggetto scanner. Quando l'oggetto scanner legge una riga, la mantiene. Next () accede al token successivo (parola). Hasnext () restituisce vero se non c'è ancora un altro token.
Sfortunatamente, l'utente dovrebbe ancora digitare input per la scissione e il ri-scambiarsi con questo codice. Per terminare tutto ciò, premere Ctrl+Z e dovresti tornare al prompt dei comandi.
Nel codice sopra, il delimitatore separa i token nello spazio. Un altro personaggio può essere usato. Il seguente codice utilizza la virgola. Non dimenticare di premere Ctrl+Z per terminare il loop se si verifica il codice.
Importa Java.util.Scanner;Se hai testato il codice, avresti notato che gli spazi in token sono stati inclusi come parte di token (output). L'espressione, scanobj.usasselimiter (","); Digitato dopo che la riga di input è stata letta; È ciò che rende la virgola, il delimitatore.
Lettura e convalida dei tipi di dati primitivi
metodo NextBoolean ()
Nel codice seguente, l'utente dovrebbe digitare "vero" o "falso" senza quota visualizzato.
Importa Java.util.Scanner;Poiché Java emetterà un messaggio di errore fintanto che l'input non è vero o falso, il "else se" è stato usato al posto di "altro".
La differenza tra i metodi, stampa e println, è che la stampa prevede l'input sulla riga corrente, mentre Println si aspetta l'input sulla riga successiva.
metodo NextByte ()
Con il set di caratteri ASCII, un personaggio è un byte. Tuttavia, con alcuni set di personaggi orientali, un personaggio può essere costituito da più di un byte. Indipendentemente dal set di caratteri, il metodo NextByte legge e convalida il byte successivo dell'input. Il seguente codice può essere utilizzato per questo scopo:
Importa Java.util.Scanner;Se un numero maggiore di 127 o un carattere alfabeto viene inserito per questo codice, verrà emesso un messaggio di errore.
metodo NextInt ()
Il prossimo token intero come input può anche essere convalidato e accettato. È possibile utilizzare il seguente codice:
Importa Java.util.Scanner;Sono stati rimossi spazi leader o finali. Per questo codice, qualsiasi valore intero, compresi valori superiori a 127, sarebbe accettato. Con questi metodi NextXxx (), una volta che la convalida non riesce, viene emesso un messaggio di errore.
NextBigInteger () Metodo
Sembra che gli ingegneri del software non smetteranno mai di trovare cose nuove. Un grande numero intero è un numero intero il cui valore è molto più grande di quello di un numero intero. Tuttavia, con Java, può essere letto allo stesso modo del numero intero. Il seguente codice illustra questo:
Importa Java.util.Scanner;Nota l'istruzione di importazione, "Import Java.matematica.Biginteger; ". Inoltre, si noti che il tipo di intero grande è iniziato con una B maiuscola B e non una berlina B.
NextFloat () Metodo
Il prossimo token float come input può anche essere convalidato e accettato. È possibile utilizzare il seguente codice:
Importa Java.util.Scanner;Un esempio di numero di galleggiante è 23.456. Sono stati rimossi spazi leader o finali.
NextDouble ()
Il prossimo doppio token come input può anche essere convalidato e accettato. È possibile utilizzare il seguente codice:
Importa Java.util.Scanner;Un esempio di doppio numero è 23.456. Un doppio numero è diverso da un galleggiante perché ha meno margine di errore. Sono stati rimossi spazi leader o finali.
NextLine () Metodo
Il metodo NextLine () è per una stringa. Se la stringa è la riga di input dalla tastiera dopo aver premuto ENTER, può avere il carattere newline, '\ n'. È possibile utilizzare il seguente codice:
Importa Java.util.Scanner;Si noti che il tipo di stringa viene avviato con la maiuscola s e non la minestina s.
I metodi NextLine (), Hasnext () e Next () sono stati usati in precedenza, in questo articolo. Lo scanner ha altri metodi e altri metodi di dati primitivi - vedi più avanti.
Assegnare l'input a una variabile
L'input può essere assegnato a una variabile, come mostra il seguente codice:
Importa Java.util.Scanner;Conclusione
Lo scanner in Java è una classe in Java.pacchetto util. Questa classe mira a leggere l'input da una stringa, la tastiera, il file o il socket di rete. Questo articolo si è concentrato principalmente sulla lettura dell'input dalla tastiera e sulla visualizzazione del risultato alla finestra del terminale. Idee simili possono essere utilizzate per leggere l'input dalla stringa, file o canale di rete.
Per leggere l'intera riga di input della tastiera, utilizzare il metodo NextLine (). La linea come stringa può essere divisa in token, usando i metodi HasNext () e Next () e il ciclo while. Il delimitatore predefinito per la divisione è lo spazio, ma il programmatore può scegliere un altro delimitatore. Non dimenticare di fare Ctrl+Z per fermare il ciclo while, se necessario. La rimozione di spazi leader e finali può essere eseguita utilizzando altri schemi non affrontati in questo articolo. La convalida dei token può anche essere eseguita utilizzando altri schemi non affrontati in questo articolo.
I valori primitivi possono essere letti usando NextBoolean (), NextByte (), NextInt (), ecc. Questi metodi NextXxx () eseguono la convalida e rimuovono anche gli spazi di piombo e finale.
Lo scanner Java ha molti altri metodi. Tuttavia, l'uso di base dello scanner è stato spiegato in questo articolo. La selezione di un token viene effettivamente eseguita usando le tecniche di espressione regolari. L'uso di tecniche di espressione regolari è la discussione, per qualche altra volta.