Come ottenere l'input dell'utente in Java [con esempi]
Pubblicato: 2021-05-27Sommario
introduzione
Prendere l' input dell'utente in Java è il primo passo verso la creazione di software di successo in Java. Il programma Java raccoglie l'input dall'utente attraverso varie sorgenti di input come un mouse, una tastiera, una richiesta di rete, argomenti CLI, ecc. Java ha anche vari pacchetti I/O che possono essere importati nel programma per eseguire operazioni di input-output. Questi pacchetti supportano l'input di tipi primitivi come double, integer, strings, ecc.
Questo articolo si concentrerà su metodi come Scanner, BufferedReader e InputStreamReader per accettare l' input dell'utente in Java .
Come acquisire input in Java utilizzando la classe Scanner?
La classe Scanner è uno dei metodi nel pacchetto "java.util" che analizza e gestisce tutti gli input di tipo primitivo. La classe Scanner chiede all'utente di inserire l'input, quindi stampa lo stesso sullo schermo o sulla console. È possibile importare la classe Scanner dal pacchetto "java.util" nel programma e creare un oggetto per utilizzarne i metodi.
Per esempio,
Test scanner = nuovo Scanner(System.in);
Nell'istruzione precedente, il test è il nome di un oggetto e System.in è il flusso di input. L'istanza Scanner creata eseguirà la scansione dell'input dell'utente in Java .
Nota: non è necessario scrivere System.in come stringa di input nel programma. Puoi sostituirlo con un file e un file da leggere, stringa come flusso di input.
Per esempio,
Test dello scanner = nuovo Scanner (nuovo FileInputStream ("testFile.txt"), "UTF-8");
Assicurati di scrivere il codice {test.close()} per chiudere lo scanner quando hai finito di modificarlo.
Metodi dello scanner per la lettura degli input dall'utente
La tabella seguente elenca i metodi utilizzati dallo scanner per leggere l' input in Java immesso dall'utente.
Metodo | Tipo di reso | Descrizione |
Prossimo() | Corda | Restituisce il token successivo dallo scanner |
byte successivo() | Byte | Legge l'input successivo come byte. |
nextFloat() | Galleggiante | Legge l'input successivo come float. |
nextInt() | Numero intero | Legge l'input successivo come numero intero. |
successivoShort() | Corto | Leggi il prossimo input come breve. |
successivoLungo() | Lungo | Leggi il prossimo input come lungo. |
successivoBooleano() | booleano | Legge l'input successivo come booleano e restituisce il valore. |
nextLine() | Corda | Avanza lo scanner di una riga e restituisce l'input saltato. |
Esempio
Il seguente programma Java utilizza la classe Scanner per accettare l' input dell'utente in Java (stringa, intero e afloat).
importare java.util.Scanner; classe TakeUserInput { public static void main(String args[]) { int a; galleggiante b; Stringa c; Test scanner = nuovo Scanner(System.in); //Prende l'input dell'utente come String System.out.println("Digita una stringa: "); c = riga successiva(); System.out.println("La stringa di input dell'utente è: "+c); //Prende l'input dell'utente come intero System.out.println("Digita un intero: "); a = in.nextInt(); System.out.println("Il numero intero di input dell'utente è: "+a); //Prende l'input dell'utente come float System.out.println("Digita un numero float: "); b = in.nextFloat(); System.out.println("Il numero di virgola mobile dell'input utente è: "+b); }} |
Produzione
Digita una stringa: Andrea La stringa di input dell'utente è: Andrew Digita un numero intero: 03 Il numero intero di input dell'utente è: 03 Digita un numero float: 61.46 Il numero di virgola mobile immesso dall'utente è: 61,46 |
Se vuoi saperne di più sull'acquisizione di input in Java utilizzando la classe scanner, dai un'occhiata a Multiple String Input in Java utilizzando il blog Scanner.
Metodi BufferedReader e InputStreamReader
BufferedReader è un'altra classe in Java che esegue la scansione del flusso di caratteri da un flusso di input basato sui caratteri. InputStreamReader è una funzione in Java che converte il flusso di input in una sequenza di caratteri per la scansione di BufferedReader. La classe BufferedReader accetta InputStream come parametro.
La classe BufferedReader utilizza i metodi read() e readLine() per leggere i caratteri e la riga successiva e restituirli.
Devi importare il pacchetto java.io.BufferedReader per creare una classe BufferedReader.
// Crea un lettore di file
Test FileReader = nuovo FileReader (file String);
// Crea un BufferedReader
BufferedReader a = nuovo BufferedReader(test);
Ottieni lauree in Ingegneria del Software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Metodi BufferedReader per la lettura di input dall'utente
La tabella seguente elenca i metodi utilizzati dal lettore memorizzato nel buffer per leggere l' input in Java immesso dall'utente.
Metodo | Descrizione |
pronto() | Verifica se il lettore di file è in uno stato di lettura. |
marchio() | Contrassegna la posizione nel lettore bufferizzato fino alla quale sono stati letti i dati. |
Ripristina() | Restituisce il controllo al punto in cui è stato impostato il contrassegno. |
Esempio
Il seguente programma Java utilizza una classe BufferedReader insieme a una classe InputStreamReader per accettare l' input dell'utente in Java .
importa java.io.BufferedReader; importa java.io.FileReader; import java.io.IOException; prova di classe pubblica { public static void main(String[] args) { BufferedReader buffer = nullo; Tentativo { stringa scanFirstLine; buffer = nuovo BufferedReader(nuovo FileReader(“D:\\user_input.txt”)); while ((scanFirstLine = buffer.readLine()) != null) { System.out.println(scanFirstLine); } } cattura (IOException a) { a.printStackTrace(); } finalmente { Tentativo { se (buffer != nullo) buffer.close(); } cattura (IOException b) { b.printStackTrace(); } } } } |
Produzione
Nel file si trovano i seguenti dati: Questa è un'istruzione di esempio che BufferedReader legge dal file. |
Nell'esempio sopra, abbiamo creato un lettore bufferizzato chiamato buffer. Il lettore bufferizzato è collegato al file “user_input.txt”.
Quindi, abbiamo utilizzato il metodo readLine() per scansionare i caratteri dal buffer del lettore memorizzato nel buffer.
Conclusione
In questo articolo, abbiamo trattato i metodi utilizzati per accettare l' input dell'utente in Java . Abbiamo discusso i metodi Scanner e BufferedReader, insieme agli esempi. Abbiamo anche discusso i metodi utilizzati dalle classi Scanner e BufferedReader per ricevere input in Java . Ci auguriamo che tu abbia una conoscenza di base su come gestire l'input in Java . Se vuoi saperne di più sul linguaggio di programmazione Java, dai un'occhiata al programma Executive PG di upGrad nel corso Full Stack Development progettato per i professionisti che lavorano.