创建一个使用数组列表添加字符串对象的选项菜单,当输入包含空格“hello there”时,我得到java.util.InputMistmachException

wsxa1bj1  于 2023-01-15  发布在  Java
关注(0)|答案(1)|浏览(81)
`System.out.println();
        ArrayList<String> runescape = new ArrayList<String>();

        while (true) {
            display();

            int optionNum = input.nextInt();
            
            if (optionNum == 1) {
                System.out.print("Enter a String : ");
                runescape.add(input.next());
                System.out.println("Element Added");
            } 
            else if (optionNum == 2) {
                
                System.out.print("Enter String to remove :");
                String remov = input.next();
                if (runescape.contains(remov)) {
                    runescape.remove(new String(remov));
                    System.out.print("The String been removed.");
                }else
                    System.out.println("That String does not exist");
            } else if (optionNum == 3) {
                System.out.print("Your list: " + runescape);
            } else if (optionNum == 4) {
                System.out.print("You have exited the program.");
                break;
            }

        }`

我想知道为什么我会得到这个错误,如果我尝试输入一个由多个单词组成的字符串。例如,如果我输入"你好彼得"。
先谢谢你的帮助。

2w2cym1i

2w2cym1i1#

如maloomeister所述,Scanner.next()只能读取一个单词(除非使用不同的分隔符)。要读取一整行(所有单词),请使用Scanner.nextLine()

runescape.add(input.nextLine());

相关问题