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

时间:2018-05-18 15:15:47

标签: java arrays split tokenize stringtokenizer

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

更新:我已经解决了这个问题!感谢大家的建议。

3 个答案:

答案 0 :(得分:1)

如果我理解你的问题,那就是我会做的

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]);
}

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

答案 1 :(得分:0)

您可以使用循环并使用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);

注意我如何将分隔符设置为逗号,以便将每个下一个读取的单词区分为逗号分隔。

答案 2 :(得分:0)

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]);
    }
}