在Java的Scanner类中,为什么没有
nextChar()
语法,是否有一种命令可以在不使用String
变量的情况下执行类似的操作?nextChar()
语法,是否有一种命令可以在不使用String
变量的情况下执行类似的操作?两种解决方案:
toCharArray()
:这将返回一个char[]
,您可以在其中使用foreach循环;.charAt()
相结合。Java的Scanner类操作令牌,即完整的输出单元。通常这是完整的单词、文本行、数字(整数、双精度浮点数、浮点数等)。如果您想读取单个字符,应该在类似于此的结构中使用BufferedReader。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
将System.in
替换为您正在使用的Scanner输入。然后使用char c = (char)in.read()
从输入中读取下一个字符。
import java.io.*
。 - undefinedpublic class Test
{
public static void main(String[] args) throws Exception
{
while (true)
{
char c = (char)System.in.read();
System.out.println("[" + c + "]");
}
}
}
read
调用将能正确解析它吗?因为read
只返回一个字节,所以这就是为什么更倾向于使用BufferedReader。 - undefinedScanner s = new Scanner(System.in);
s.next(“.{1,}”);
Scanner#next()
方法,并将仅消耗一个字符的正则表达式作为参数传递。