Java 用扫描仪读取单个字符
我想在Java程序中输入Java 用扫描仪读取单个字符,java,java.util.scanner,Java,Java.util.scanner,我想在Java程序中输入char类型的单个字符。即使用户输入多个字符,也应该只使用第一个字符。我该怎么做?在扫描器类的帮助下可以吗?有什么问题吗 scanner.next().charAt(0) 或者,如果您不想next()返回任何额外的内容,这里有另一个想法: scanner.useDelimiter("") 现在scanner.next()应该返回一个字符串,您可以根据需要使用.charAt(0)。有什么问题吗 scanner.next().charAt(0) 或者,如果您不想ne
char
类型的单个字符。即使用户输入多个字符,也应该只使用第一个字符。我该怎么做?在扫描器
类的帮助下可以吗?有什么问题吗
scanner.next().charAt(0)
或者,如果您不想
next()
返回任何额外的内容,这里有另一个想法:
scanner.useDelimiter("")
现在scanner.next()
应该返回一个字符串,您可以根据需要使用.charAt(0)
。有什么问题吗
scanner.next().charAt(0)
或者,如果您不想
next()
返回任何额外的内容,这里有另一个想法:
scanner.useDelimiter("")
现在
scanner.next()
应该返回单个字符串,您可以根据需要使用.charAt(0)
。要使用scanner
中的单个字符,您可以使用:
char ch = scanner.findInLine(".").charAt(0);
要使用
扫描仪中的单个字符,您可以使用:
char ch = scanner.findInLine(".").charAt(0);
有两种方法可以做到这一点:
char c = scanner.nextLine().charAt(0);
将读取第一个可用行并提取第一个字符,或
try {
char c = (char) System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
它将读取第一行中的第一个字节
,并将其转换为字符
有两种方法:
char c = scanner.nextLine().charAt(0);
将读取第一个可用行并提取第一个字符,或
try {
char c = (char) System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
它将读取第一行中的第一个字节
,并将其转换为字符
的可能副本。建议使用扫描仪读取一个短
。byte
不能覆盖所有可能的字符。@DaftPunkScanner
只读取String
s,因此我可以直接提取char
。如果您尝试使用nextShort()
您将获得NumberFormatException
。如果您正在谈论使用System.in.read()
来读取一个短字符而不是一个字节,那么您不能,这只能读取一个字节。我的意思是读取一个字节,LS-8,然后读取第二位并将它们相加。它产生一个短字符,然后您将其转换为一个字节。使用扫描仪,建议读取短字符
。byte
不能覆盖所有可能的字符。@DaftPunkScanner
只读取String
s,因此我可以直接提取char
。如果您尝试使用nextShort()
您将获得NumberFormatException
。如果您正在谈论使用System.in.read()
来读取一个短字符而不是一个字节,那么您不能,这只能读取一个字节。我的意思是读取一个字节,LS-8,然后读取第二位并将它们相加。它产生一个短字符,然后转换为一个字节。