如何将扫描仪中的每个单词存储到数组中
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]);
}
}
我不想使用扫描仪来要求输入几个词,并且希望使用分隔符“,”来分隔每个词。 然后我想拆分每个单词并将其存储在一个数组中,这样我就可以将它用于其他目的,即为我的构造函数实例化一个带有数组参数的对象。 有人可以帮我吗
更新:问题已解决!谢谢大家的建议。
如果我没有正确理解你的问题,我会这样做
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]);
}
}