java - 为什么我无法将以下字符串作为输入并将其添加到 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);
}
}
解决方案
根据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- 。
推荐阅读
- python - 没有numpy的python逆矩阵
- drone - 无人机错误:登录失败。已达到用户限制
- rust - 生成可靠运行的并发 tokio 任务
- docker - 为什么 docker 没有完全删除我的文件?
- android - 在某些 Android 手机上出现 React Native Voice 错误
- python - 使用 Open3D 将点云与地板(平面)对齐
- javascript - 从数组 couses 中获取值“类型上不存在属性‘值’”
- openshift - HazelCast 嵌入式缓存成员未在具有多个 pod 的 Openshift 中添加
- reactjs - 第二次调用时更新的状态值
- java - MySQL 无法创建与数据库服务器的连接