这是数组的初始化。我已经有了已经可以使用的get和set方法。我的问题是示例,我使用我的addStudent方法,然后输入了三个名称。我输入的只有第一个学生为真,否则为假

static ArrayList<Dynamic> users = new ArrayList<Dynamic>();


这是我的搜索方法

public static void searchStudent() {
        String trash= in.nextLine();
        System.out.println("Please Enter First Name");
        String find = in.nextLine();

        for (int i=0; i<users.size(); i++) {
        if(find.equalsIgnoreCase(users.get(i).getfName())){
                System.out.println("Student is Found");
                System.out.println(users.get(i));
                menu();
            }
        else {
            System.out.println("Student Not found");
            menu();
        }
        }
    }//end of searchStudent

最佳答案

仅当学生是ArrayList中的第一个元素时,当前代码才会打印“找到学生”。要使其在整个列表中进行搜索,请将代码放入else块中,使其循环外。

public static void searchStudent() {
        String trash= in.nextLine();
        System.out.println("Please Enter First Name");
        String find = in.nextLine();

        for (int i=0; i<users.size(); i++) {
            if(find.equalsIgnoreCase(users.get(i).getfName())){
                System.out.println("Student is Found");
                System.out.println(users.get(i));
                menu();
            }
        }

        System.out.println("Student Not found");
        menu();
}//end of searchStudent

关于java - 我在搜索arraylist的方法中遇到问题。该条件仅在第一个索引中为真,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59115931/

10-12 01:21
查看更多