Ottieni l'input dell'utente in Java
-
Scanner
per ottenere l’input dell’utente in Java -
BufferedReader
per ottenere l’input dell’utente in Java
In questo articolo, discuteremo l’approccio migliore per ottenere l’input dell’utente in Java. Sebbene ci siano molti modi per farlo, alcuni di questi metodi sono già deprecati e quindi li eviteremo.
Scanner
per ottenere l’input dell’utente in Java
Possiamo usare lo Scanner
per raggiungere il nostro obiettivo. Dobbiamo creare un oggetto della classe e passare System.in
al suo costruttore perché apre un InputStream
per ottenere input dall’utente.
Il passo successivo è usare l’oggetto Scanner
e chiamare uno dei seguenti metodi. Ogni metodo accetta il valore di input di diversi tipi di dati.
Metodo | Descrizione |
---|---|
next() |
Valore stringa |
nextInt() |
Valore intero |
nextByte() |
Valore byte |
nextLong() |
Valore lungo |
nextFloat() |
Valore flottante |
nextDouble() |
Doppio valore |
Nel nostro esempio sotto, useremo il metodo nextInt()
, che accetta valori interi.
Esempio:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = inputReader.nextInt();
System.out.println("Your entered number was: " + number);
}
}
Produzione:
Enter a number:
454
Your entered number was: 454
BufferedReader
per ottenere l’input dell’utente in Java
Abbiamo un’altra classe che potrebbe ottenere l’input dall’utente. BufferedReader
utilizza flussi di caratteri per leggere il testo dall’input, mentre Scanner
può essere usato quando siamo il tipo primitivo di input.
Significa che non ha metodi come nextInt()
nella classe BufferedReader
, ma ha un metodo readLine()
che accetta input, quindi possiamo analizzarlo in seguito.
Nell’esempio seguente, stiamo prendendo l’input come un int
. Dobbiamo leggere l’input e poi analizzarlo nel tipo int
usando Integer.parseInt(String)
. Dovremmo circondare le istruzioni con un blocco try-catch
poiché IOException potrebbe apparire se non ci sono dispositivi di input esterni.
Esempio:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {
System.out.println("Please enter a number: ");
String s = br.readLine();
int i = Integer.parseInt(s);
System.out.println("Your entered number was: " + i);
} catch (IOException e) {
e.printStackTrace();
}
br.close();
}
}
Produzione:
Please enter a number:
454
Your entered number was: 454
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