猿问

如何在不知道输入字符数的情况下将空格分隔的字符序列作为java中的输入

我希望在java中读取空格分隔的字符序列,但要输入的字符数未知。例如,这是输入12 34 e 2 a 9 d

如何将这些内容存储在列表中?

我尝试使用:

while(scan.hasNext())
    list.add(scan.next().charAt(0)); // list is an ArrayList<Character>

有人能告诉我为什么这不起作用吗?(我很难理解方法的hasNext()真正作用。


眼眸繁星
浏览 120回答 1
1回答

料青山看我应如是

如果你想要这些词,你可以使用String.trim().split(" ")。这将删除前导和尾随空格,并返回由空格分隔的单词数组。您还可以将Scanner sc = new Scanner(<your file>).useDelimiter(" ");扫描仪配置为使用空格作为分隔符将文本拆分为标记。Scanner.hasNext()根据是否有下一个标记返回一个布尔值。String.charAt(0)返回字符串的第一个字符。如果您想阅读每个字母,则必须使用循环遍历每个单词String.charAt(<loop variable>)
随时随地看视频慕课网APP

相关分类

Java
我要回答