public static void main(String[] args) {
    // write your code here
        ArrayList<String>line1=new ArrayList<String>();
        line1.add("el marg");
        line1.add("ezbt el nakhl");
        line1.add("ain shams");
        line1.add("el matria");
        line1.add("el helmia");
        Scanner s=new Scanner(System.in);
        System.out.println("Entry Station");
        String answer1=s.next();
        Scanner a=new Scanner(System.in);
        System.out.println("Exit Station");
        String answer2=a.next();

        System.out.println(line1.subList(line1.indexOf(answer1),line1.indexOf(answer2)));
    }
}


我想打印一个火车站的子列表,该列表在入口站和出口站之间,但是有些错误,即使用户在数组列表中键入了一个站,它也给我-1

最佳答案

您所有的电台名称都有空格。

s.next()将读取Scanner中的下一个标记,该标记中没有空格。

请改用s.nextLine()



作为调试此类问题的一般技巧,请尝试在调试器中查看answer1answer2的值(甚至只是将它们打印出来)。那么很明显为什么它不匹配。

10-06 13:51