есть приложение, в котором создаются/удаляются студенты, как мне добавить функцию изменения данных "editStudent()"?

package university;

public class University {
    String name;
    Student[] students;

    public University(String name) {
        this.name = name;
        students = new Student[0];
    }

    public Student[] getStudents() {
        return this.students;
    }

    public void addStudent(Student student) {
        Student[] tempStudents = new Student[students.length + 1];

        for (int i = 0; i < students.length; i++) {
            tempStudents[i] = students[i];
        }
        tempStudents[tempStudents.length - 1] = student;
        students = tempStudents;
    }

    public void removeStudent(Student student) {
        // Перебираем весь массив студентов
        for (int i = 0; i < students.length; i++) {
            // Проверяем, существует ли такой студент
            if (students[i].equals(student)) {
                // если существует, то ...
                // создаем массив на 1 меньше, чем оригинал
                Student[] tempStudents = new Student[students.length - 1];
                // помечаем юзера null-ом, чтобы не переносить в новый массив
                students[i] = null;
                // Перебираем массив студентов, чтобы перенести их в новых массив
                // и определяем для этого счетчик нового массива
                int counterOfUsersWhichAreMovedToNewArray = 0;
                for (int j = 0; j < students.length; j++) {
                    // Переносим только тех, что не null
                    if (students[j] != null) {
                        // В ячейку нового массива вставляем юзера из старого
                        tempStudents[counterOfUsersWhichAreMovedToNewArray] = students[j];
                        // Увеличиваем счетчик юзеров нового массива на 1
                        counterOfUsersWhichAreMovedToNewArray++;
                    }
                }
                // Говорим, что переменная класса теперь ссылается на новый массив
                students = tempStudents;
                break;
            }
        }
    }


        }

// Класс с студентом ниже

package university;
import java.util.Objects;

public class Student {
    String name;
    public Student(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Student)) return false;
        Student student = (Student) o;
        return name.equals(student.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name);
    }
}

Основной класс Ниже

package university;

public class Run {
    public static void main(String[] args) {
        University univer = new University("ONPU");
        Student student1 = new Student("Vasya");
        Student student2 = new Student("Petya");
        Student student3 = new Student("Kolya");
        System.out.println("Start");
        System.out.println(univer.students.length);
        univer.addStudent(student1);
        System.out.println("Added 1 student");
        System.out.println(univer.students.length);
        univer.addStudent(student2);
        System.out.println("Added 1 student");
        System.out.println(univer.students.length);
        univer.removeStudent(student2);
        System.out.println("Removed 1");
        System.out.println(univer.students.length);
        univer.removeStudent(student3);
        System.out.println("Removed non existed");
        System.out.println(univer.students.length);

    }
}

Ответы (1 шт):

Автор решения: Maxim Shalyugin
public Student findStudentByName(String name) {
    for (int i = 0; i < students.length; i++){
        if (name.equals(students[i].name))
        {
            return students[i];
        }
    }
    return null;
}

public void updateStudentByName(String oldName, String newName)
{
    Student student = findStudentByName(oldName);
    student.name = newName;
}

что то в этом роде

→ Ссылка