将用户输入读取到数组列表中?

时间:2018-10-31 06:18:52

标签: java arraylist

我有这段代码可以将用户输入读入数组列表。如何使用字符串数组列表而不是整数编写相同的代码。

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

2 个答案:

答案 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);
  }