java - 使用ArrayList进行用户输入

标签 java arraylist input java.util.scanner user-input

我想允许用户输入字符串直到输入空行,并将字符串存储在 ArrayList 中。我有以下代码,我认为它是正确的,但显然不是。

String str = " "; 
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();     
System.out.println("Please enter words");
while (sc.hasNextLine() && !(str = sc.nextLine()).equals("")) {
    list.add(sc.nextLine());
} 

for(int i=0; i<list.size(); i++) {
    System.out.println(list.get(i));
}

最佳答案

当您调用一次 sc.hasNextLine() 和两次 sc.nextLine() 时,您可以多次使用下一行。
相反,调用一次 nextLine(),然后使用存储结果的变量来检索读取的行:

while (sc.hasNextLine() && !(str = sc.nextLine()).equals("")) {
    list.add(str);
} 

关于java - 使用ArrayList进行用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51050764/

相关文章:

Java - 从父类(super class)的ArrayList中排序出子类

jquery - 搜索弹出图标 : Like Apple. com Angular JS

java - 如何在 OpenGL ES 2 中使用顶点数组对象

java - 如何调用 ArrayList 中数组的方法?

java - 将 String 转换为 readUTF() 期望的格式

android - 从 Arraylist<HashMap<String, String>> 填充 ListView

javascript - 输入表单以更改 javascript 中的相对 URL

javascript - 单独的 radio 输入,在正确的输入后面 append 一个 div

java - 如何使用 Java API 获得 AKKA for MySQL 的持久性?

eclipse - Eclipse 中的 Java JAI 访问错误