在 Java 中从输入中获取一个字符

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 Scanner.next().charAt(0) 从输入中获取一个字符
  2. 在 Java 中使用 System.in.read() 从输入中获取一个字符
  3. 在 Java 中使用 InputStreamReader() 从输入中获取一个字符
在 Java 中从输入中获取一个字符

本文将介绍几种在可用于 Java 的输入中获取一个字符的方法。我们可以在 Java 中输入和读取一整句话,但读取单个字符的方法却很少。下面的例子展示了几种方法以及如何使用它们。

在 Java 中使用 Scanner.next().charAt(0) 从输入中获取一个字符

在第一个例子中,我们将使用 Scanner 类来获取输入。我们使用 scanner.next().charAt(0) 来读取输入的字符。charAt(0)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);
  }
}

输出:

Please input a character: 
h
Character: h

在 Java 中使用 System.in.read() 从输入中获取一个字符

下一个例子直接使用 System.in 来调用 read() 方法。System.in.read() 读取一个字节并返回一个 int。由于每个字符都代表一个数字,我们可以将 int 转换为字符,反之亦然。

下面,我们使用 System.in.read() 读取输入,然后将其转换为 char,将其转换为字符类型。

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);
  }
}

输出:

Please input a character: 
j
Character: j

在 Java 中使用 InputStreamReader() 从输入中获取一个字符

另一个与前一个方法类似的方法是使用一个 InputStreamRead(),它和 System.in 一样提供了 read() 方法。我们可以使用这个 read() 方法输入将返回一个 int 的字符,然后将其投向一个 char,就像我们在下面的例子中所做的那样。

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);
  }
}

输出:

Please input a character: 
/
Character: /
作者: 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

相关文章 - Java Scanner

相关文章 - Java Char