如何将扫描仪中的每个单词存储到数组中

How to store each word from a scanner to an array

我不想使用扫描仪来要求输入几个词,并且希望使用分隔符“,”来分隔每个词。 然后我想拆分每个单词并将其存储在一个数组中,这样我就可以将它用于其他目的,即为我的构造函数实例化一个带有数组参数的对象。 有人可以帮我吗

更新:问题已解决!谢谢大家的建议。

如果我没有正确理解你的问题,我会这样做

Scanner keyb = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String input = keyb.nextLine();
String[] stringArray = input.split(",");

查看结果:

for(int i=0; i < stringArray.length; i++){
    System.out.println(i + ": "  + stringArray[i]);
}

这适用于任何大小的句子,只要每个单词由 , 分隔即可。

您可以使用循环并使用 Scanner.hasNext() 检查来执行此操作。像这样:

Scanner k = new Scanner(new File("input.txt"));
k.useDelimiter(",");
LinkedList<String> words = new LinkedList<String>();
while(k.hasNext()){
    words.add(k.next());
}
System.out.println(words);

请注意我是如何将分隔符设置为逗号的,这样每个下一个阅读的单词都会被逗号分隔。

import java.util.*;

public class testing {

    public static void main (String[] args) {
        String splitter = ",";
        Scanner scanner = new Scanner(System.in);
        System.out.println("user input:");
        String[] fewwords = scanner.nextLine().split(splitter);
        System.out.println(fewwords[0] + fewwords[1] + fewwords[2]);
    }
}