使用扫描仪读取单个字符

时间:2013-06-24 18:17:23

标签: java java.util.scanner

我想在Java程序中输入char类型的单个字符。即使用户输入多个字符,也只能使用第一个字符。我怎样才能做到这一点?有可能在Scanner类的帮助下吗?

3 个答案:

答案 0 :(得分:3)

有两种方法可以做到:

char c = scanner.nextLine().charAt(0);

将读取第一个可用行,并提取第一个字符,或

try {
    char c = (char) System.in.read();
} catch (IOException e) {
    e.printStackTrace();
}

将会读取第一个可用行中的第一个byte并将其转换为char

答案 1 :(得分:2)

有什么问题
scanner.next().charAt(0)

或者,如果您不希望next()返回任何额外内容,这是另一个想法:

scanner.useDelimiter("")

现在scanner.next()应返回单个字符串,您可以根据需要使用.charAt(0)

答案 2 :(得分:1)

要使用Scanner中的单个字符,您可以使用:

char ch = scanner.findInLine(".").charAt(0);