在 Java 中从输入中获取一个字符
    
    Rupam Yadav
    2023年10月12日
    
    Java
    Java Scanner
    Java Char
    
- 
          
            在 Java 中使用 
Scanner.next().charAt(0)从输入中获取一个字符 - 
          
            在 Java 中使用 
System.in.read()从输入中获取一个字符 - 
          
            在 Java 中使用 
InputStreamReader()从输入中获取一个字符 
本文将介绍几种在可用于 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: /
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Rupam Yadav
    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 Scanner NextLine Skips 错误
 - Java Scanner 类中 next() 和 nextLine() 方法的区别
 - 在 Java 中按 Enter 继续
 - 在 Java 中获取键盘输入
 - 关闭 Java 中的 Scanner
 
