Ottieni l'input dell'utente in Java

Rupam Yadav 12 ottobre 2023
  1. Scanner per ottenere l’input dell’utente in Java
  2. BufferedReader per ottenere l’input dell’utente in Java
Ottieni 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
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Articolo correlato - Java Input