当我键入用户输入时从 arraylist 访问元素时遇到问题

Having trouble while accessing the elements from arraylist when i key in user input

我遇到一个问题,当我尝试检查用户输入是否与我的数组列表中的元素匹配时,它不会显示相应的元素。 我没有得到我想要的输出,因为我一直得到错误的陈述(在 if-else 中)。希望寻求各种建议(仍然是 Java 编程的初学者)。谢谢!

//访问代码,将数组列表元素与文本文件中的用户输入进行比较

       String line1;
       BufferedReader br= new BufferedReader(newFileReader("Connection.txt"));
        while((line1 = br.readLine())!= null)
        {
            StringTokenizer st = new StringTokenizer(line1, "____");
            while(st.hasMoreTokens())
            {   
                String first = st.nextToken();
                String last = st.nextToken();
                Connection a = new Connection(first, last);
                ConnectArray.add(a);
            }
        }

        System.out.println("Enter:");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();   
        System.out.println("The connections are:\n");

        for(int x= 0; x<ConnectArray.size(); x++)
        {
            if(input.equals(ConnectArray.get(x).getConnection1()))
            {
                System.out.println(ConnectArray.get(x).getConnection2());
                break;
            }
            else
            {
                System.out.println("The connections you have inputted is wrong! Please try again");
                break;
            }

}

无论您的输入是什么,您只需将其与文件中的第一行进行比较,因为 if 块中有 break 语句 else 块中。

您不应该在 else 块中停止循环:其他行可能包含输入。而且,如果正如您的评论所暗示的那样,应该有几行与输入匹配,那么 if 块中也不应该有 break :其他行也可能与输入匹配。

也就是说,连接 class 中也可能存在其他错误。但是你没有表现出来。您也没有说明您的文件包含什么,以及您的输入是什么,因此很难提供更多帮助。