Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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中编辑和更新ArrayList_Java_Arraylist - Fatal编程技术网

在Java中编辑和更新ArrayList

在Java中编辑和更新ArrayList,java,arraylist,Java,Arraylist,我试图通过允许用户更改他们的名字和姓氏来更新myArray列表,同时保持arraylist中的其他信息不变 代码如下 public void editStudentID(int findStudentId) { for (int i = 0; i < students.size(); i++) { if (students.get(i).getId() != findStudentId) { continue;

我试图通过允许用户更改他们的名字和姓氏来更新myArray列表,同时保持arraylist中的其他信息不变

代码如下

public void editStudentID(int findStudentId) {

        for (int i = 0; i < students.size(); i++) {
            if (students.get(i).getId() != findStudentId) {
                continue;
            }
            System.out.println("Found a profile containing information for " + findStudentId + ":");
            System.out.println("What would you like to change in your profile?");
            System.out.println("1.First Name");
            System.out.println("2.Last Name");
            int decision = scanner.nextInt();
            switch (decision) {
                case 1:
                    System.out.println("Enter a new first name to continue");
                    String newFirstName = scanner.next();//need to find a way to update this in my arraylist
                    break;

                case 2:
                    System.out.println("Enter a new last name to continue");
                    String newLastName = scanner.next();//this as well
                    break;
            }
            return;
        }
        System.out.println(" Id not found ");

    }

首先,您需要使您的
Student
类可变,但提供了两个“setter”,这将允许您更改名字和姓氏属性,例如

public class Student {

    //...

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

}
public void editStudentID(int findStudentId) {

    for (int i = 0; i < students.size(); i++) {
        if (students.get(i).getId() != findStudentId) {
            continue;
        }
        System.out.println("Found a profile containing information for " + findStudentId + ":");
        System.out.println("What would you like to change in your profile?");
        System.out.println("1.First Name");
        System.out.println("2.Last Name");
        int decision = scanner.nextInt();
        switch (decision) {
            case 1:
                System.out.println("Enter a new first name to continue");
                String newFirstName = scanner.next();//need to find a way to update this in my arraylist
                students.get(i).setFirstName(newFirstName);
                break;

            case 2:
                System.out.println("Enter a new last name to continue");
                String newLastName = scanner.next();//this as well
                students.get(i).setLastName(newFirstName);
                break;
        }
        return;
    }
    System.out.println(" Id not found ");

}
然后在
editStudentID
方法中,只需更新所需的记录,例如

public class Student {

    //...

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

}
public void editStudentID(int findStudentId) {

    for (int i = 0; i < students.size(); i++) {
        if (students.get(i).getId() != findStudentId) {
            continue;
        }
        System.out.println("Found a profile containing information for " + findStudentId + ":");
        System.out.println("What would you like to change in your profile?");
        System.out.println("1.First Name");
        System.out.println("2.Last Name");
        int decision = scanner.nextInt();
        switch (decision) {
            case 1:
                System.out.println("Enter a new first name to continue");
                String newFirstName = scanner.next();//need to find a way to update this in my arraylist
                students.get(i).setFirstName(newFirstName);
                break;

            case 2:
                System.out.println("Enter a new last name to continue");
                String newLastName = scanner.next();//this as well
                students.get(i).setLastName(newFirstName);
                break;
        }
        return;
    }
    System.out.println(" Id not found ");

}
public void editStudentID(int findStudentId){
对于(int i=0;i
因为firstName和lastName是私有的,所以您需要setter。