在Java的Scanner类中,为什么语法nextChar()
不存在,并且有一个命令可以做类似的事情而不使用String
变量吗?
答案 0 :(得分:4)
两种解决方案:
toCharArray()
:这将返回char[]
,您可以使用foreach循环; .charAt()
结合使用。答案 1 :(得分:1)
Java的Scanner类操作令牌,完整的输出单位。这通常是完整的单词,文本行,数字(整数,双精度,浮点数等)。如果你想阅读单个字符,你应该在像这样的构造中使用BufferedReader
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
用您用于扫描仪的任何输入替换System.in
。然后使用char c = (char)in.read()
从输入中读取下一个字符。
答案 2 :(得分:1)
如果你想要字符级访问,你可以进入下面的级别,只需使用InputStream界面:
public class Test
{
public static void main(String[] args) throws Exception
{
while (true)
{
char c = (char)System.in.read();
System.out.println("[" + c + "]");
}
}
}
答案 3 :(得分:1)
Scanner s = new Scanner(System.in);
s.next(“.{1,}”);
因此,您可以使用Scanner#next()
方法并传递仅使用一个char作为参数的正则表达式
您可以使用上面的示例。