首页 > 解决方案 > 为什么我无法将以下字符串作为输入并将其添加到 ArrayList?

问题描述

我将地址放入 ArrayList 中,但在接受用户输入时出现了问题。

例如:当我输入以下输入“美国”“1, 2nd Street road”

问题:第一个字符串很好,因为它没有空格和逗号。但是第二个字符串没有被添加到列表中。仅添加了 1 个。

我尝试使用 next() 和 nextLine() 但我无法将整个字符串作为对象添加到列表中。

import java.util.*;
import java.lang.*;

class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        ArrayList<String> list = new ArrayList<String>();

        System.out.println("Enter Location");
        list.add(sc.next());
        System.out.println("Enter the Address");
        list.add(sc.next());
        System.out.println(list);

    }
}

标签: java

解决方案


根据https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html

Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。

您将需要使用不同的分隔符模式来解决您的问题。有关如何更改分隔符模式的信息,请参阅https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#useDelimiter-java.util.regex.Pattern- 。


推荐阅读