CODE:
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(reader);
String input = in.readLine();
ArrayList<String> massiiv = new ArrayList();
for (int i = 0; i < input.length(); i++)
massiiv.add(input[i]); // error here
HI!
如何拆分输入并将输入添加到数据结构massiiv?
例如,输入是:“你住在哪里?”。然后是大众展示:
massiv[0] = where
massiv[1] = do
massiv[2] = you
谢谢!
答案 0 :(得分:3)
Java文档是你的朋友:
http://download.oracle.com/javase/6/docs/api/java/lang/String.html
String [] myWords = input.split(“”);
答案 1 :(得分:2)
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(reader);
String input = in.readLine();
String[] massiiv = input.split(" ");
答案 2 :(得分:1)
尝试使用split(String regex)
。
String[] inputs = in.readLine().split(" "); //split string into array
ArrayList<String> massiiv = new ArrayList();
for (String input : inputs) {
massiiv.add(inputs);
}
答案 3 :(得分:1)
使用StringTokenizer,它允许应用程序将字符串分解为标记。
使用space作为分隔符,将returnDelims
标志设置为false,以便空间仅用于分隔标记。然后
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
打印以下输出:
this
is
a
test
答案 4 :(得分:0)
您可以在java中使用string.split()方法。在您的情况下,您希望拆分字符串中的空格,因此您的代码将是:
massiiv = new ArrayList(input.split(" "));
如果您不希望在输出中包含单词you
,则必须进行其他处理。
答案 5 :(得分:0)
单线解决方案。字符串之间可能存在任何数量的空白。
ArrayList<String> massiiv = new ArrayList(Arrays.asList(input.split("\\s+")));