我有这段代码可以将用户输入读入数组列表。如何使用字符串数组列表而不是整数编写相同的代码。
private static Scanner scan = new Scanner(System.in);
public static void main(String args[]) {
ArrayList<Integer> input = new ArrayList<Integer>();
System.out.println("Enter some numbers");
while (scan.hasNextInt()) {
input.add(scan.nextInt());
}
System.out.println(input);
}
答案 0 :(得分:0)
只需将ArrayList<Integer>
替换为ArrayList<String>
。然后,您可以使用Scanner.hasNext()
来检查有效输入,然后使用类似String foo = Scanner.next()
的字符串将其扫描为字符串。请注意,.next()
仅读取输入到下一个空格,因此,如果您想读取多个单词,Scanner.hasNextLine()
和Scanner.nextLine()
是您想要的方法(因为它们读取输入到下一个换行符)
答案 1 :(得分:-1)
Scanner类具有next();
和nextLine();
方法,可用于获取字符串形式的数据。
使用next();
方法将阻塞代码,直到获得输入为止。因此,nextLine();
方法可用于获取完整的String,并且可以使用定界符将String拆分为令牌
private static Scanner scan = new Scanner(System.in);
public static void main(String args[]) {
ArrayList<String> input = new ArrayList<String>();
System.out.println("Enter some String :");
String ip=scan.nextLine();
input.addAll(Arrays.asList(ip.split("\\s")));
System.out.println(input);
}