HOWTO · Java

Ottieni un carattere dall'input in Java

Spiega i modi per inserire un carattere in Java

In questa pagina

Questo articolo introdurrà diversi metodi che possiamo utilizzare per inserire un carattere in Java. Possiamo inserire e leggere un’intera frase in Java, ma ci sono pochissimi modi per leggere un singolo carattere. I seguenti esempi mostrano alcuni modi e come utilizzarli.

Ottieni un carattere dall’input utilizzando Scanner.next().charAt(0) in Java

Nel primo esempio, useremo la classe Scanner per prendere l’input. Usiamo scanner.next().charAt(0) per leggere l’input come char. charAt(0) legge il primo carattere dallo scanner.

import java.util.Scanner;

public class InputChar {
  public static void main(String[] args) d {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please input a character: ");
    char value = scanner.next().charAt(0);
    System.out.println("Character: " + value);
  }
}

Produzione:

Please input a character: 
h
Character: h

Ottieni un carattere dall’input usando System.in.read() in Java

Il prossimo esempio usa direttamente System.in per chiamare il metodo read(). System.in.read() legge un byte e restituisce un int. Poiché ogni carattere rappresenta un numero, possiamo convertire l’int in un carattere e viceversa.

Di seguito, leggiamo l’input usando System.in.read() e poi lo convertiamo in un char per convertirlo in un tipo di carattere.

import java.io.IOException;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    char value = (char) System.in.read();
    System.out.println("Character: " + value);
  }
}

Produzione:

Please input a character: 
j
Character: j

Ottieni un carattere dall’input usando InputStreamReader() in Java

Un altro metodo simile al precedente utilizza un InputStreamRead() che fornisce il metodo read() proprio come System.in. Possiamo usare questo metodo read() per inserire il carattere che restituirà un int e poi lanciarlo in un char come abbiamo fatto nell’esempio sotto.

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    Reader reader = new InputStreamReader(System.in);
    int characterAsInt = reader.read();

    char character = (char) characterAsInt;
    System.out.println("Character: " + character);
  }
}

Produzione:

Please input a character: 
/
Character: /