Ottieni un carattere dall'input in Java

Rupam Yadav 12 ottobre 2023
  1. Ottieni un carattere dall’input utilizzando Scanner.next().charAt(0) in Java
  2. Ottieni un carattere dall’input usando System.in.read() in Java
  3. Ottieni un carattere dall’input usando InputStreamReader() in Java
Ottieni un carattere dall'input in Java

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: /
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 Scanner

Articolo correlato - Java Char