Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以在不事先确定数组大小的情况下,将来自扫描仪对象的用户输入存储在数组列表中?_Java_Arrays_String_Arraylist_User Input - Fatal编程技术网

Java 有没有一种方法可以在不事先确定数组大小的情况下,将来自扫描仪对象的用户输入存储在数组列表中?

Java 有没有一种方法可以在不事先确定数组大小的情况下,将来自扫描仪对象的用户输入存储在数组列表中?,java,arrays,string,arraylist,user-input,Java,Arrays,String,Arraylist,User Input,我正在努力编写一段代码,其中我将使用System.out.print要求用户键入字符串。这些字符串将存储在arrayList中。用户可以输入任意数量的单词,因此arrayList不能具有预定义的长度,我也不能询问用户要输入多少单词,因为程序需要将这些字符串作为其唯一输入 我使用了while(scan.hasNext())来不断地向arrayList添加字符串,但我不知道如何中断while循环。这就是我到目前为止想到的。我知道这是错误的,我将感谢任何帮助 public class ArrayLis

我正在努力编写一段代码,其中我将使用System.out.print要求用户键入字符串。这些字符串将存储在arrayList中。用户可以输入任意数量的单词,因此arrayList不能具有预定义的长度,我也不能询问用户要输入多少单词,因为程序需要将这些字符串作为其唯一输入

我使用了
while(scan.hasNext())
来不断地向arrayList添加字符串,但我不知道如何中断while循环。这就是我到目前为止想到的。我知道这是错误的,我将感谢任何帮助

public class ArrayListTest {

    public static void main(String[] args) {

        ArrayList<String> words = new ArrayList<String>();
        Scanner scan = new Scanner(System.in);
        System.out.println("Please type your list of word and press Enter when it’s finished ");

        while (scan.hasNext()) {
            words.add(scan.next());

            if (System.lineSeparator() == true) {
                break
            }
        }
    }
}
公共类ArrayListTest{
公共静态void main(字符串[]args){
ArrayList words=新的ArrayList();
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请键入单词列表,完成后按Enter键”);
while(scan.hasNext()){
words.add(scan.next());
if(System.lineSeparator()==true){
打破
}
}
}
}

如果代码与您提供的代码一样简单,您只需给stdin一个
EOF
(只需使用快捷键CTRL+D),它将打破
扫描.hasNext()
条件。

用户如何表示他们希望打破循环?你必须先弄清楚这一点,然后你可以开始考虑如何编程。我想用空格键分隔每个字符串(我不知道是否可以),然后按键盘上的Enter键打破循环,但如果不可行,我会做任何可行的事情。在我将字符串存储在arrayList中之后,我必须检查是否有重复字符,如果有,请删除,然后在屏幕上打印新的arrayList,但我可以完成这一部分。我很难跳出循环,我想通过按键盘上的enter键或任何真正有效的键来完成