Come ottenere l'input dell'utente in Java [con esempi]

Pubblicato: 2021-05-27

Sommario

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.

Pianifica ora la tua carriera nello sviluppo di software.

Richiedi la certificazione PG collegata al lavoro di upGrad in ingegneria del software