【问题标题】:How to store each word from a scanner to an array如何将扫描仪中的每个单词存储到数组中
【发布时间】:2018-10-29 01:54:12
【问题描述】:

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

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

【问题讨论】:

  • 您可以发布有问题的代码@ChanbothSom
  • 讨厌是什么意思?
  • prntscr.com/jjl1kw 当我尝试在拆分后输入“a, b”时,我得到了 [Ljava.lang.String;@27abe2cd
  • -1 对于这个模糊的更新 我已经解决了这个问题!谢谢大家的建议。您应该告诉我们是什么解决了您的问题或接受其中一个答案,通常 SO 中的问题应该能够帮助未来的访问者。
  • 你能把代码编辑成你的问题吗?

标签: java arrays split tokenize stringtokenizer


【解决方案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]);
}

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

【讨论】:

    【解决方案2】:
    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]);
        }
    }
    

    【讨论】:

    • 顺便说一句,如果你现在显然有 3 个单词,system.out.println onlu 就可以工作(所以如果你想看到所有这些单词,不管长度是多少,使用像 @GreenSaber 回答的 for 循环. 我们基本上写了一样的东西。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多