/** * Program designed to showcase how to search then remove an element from a generic array of objects in Java. * Assume 'Student' is defined. * @author Nick Adamou * @date 9/1/2019 */ public class Main { // Function to obtain a specific student's position in an array of students public static int search(Student[] students, String firstName, String lastName) { // Loop over every student in the array of students. for (int i = 0; i < students.length; i++) { // Get the current student at this position in the array. Student student = students[i]; // Check if student is null if (student == null) { // If student is null, then continue. conttinue; } // Check if this student is the one we are looking for. if (student.getFirstName().equalsIgnoreCase(firstName) && student.getlastName().equalsIgnoreCase(lastName)) { // If it is the student we are looking for, return it's position in the array. return i; } } // If the student could not be found, return -1. return -1; } // Function used to remove a student from an array of students. public static Student removeStudent(Student[] students, firstName, lastName) { // Indicate to the user that we are removing a student. System.out.printf("Removing student (%s, %s)", firstName, lastName); // Search for the student in the array and get its position in the array. int index = search(students, firstName, lastName); // Store a blank version of the targetted student Student student = new Student() // Check if the student was found. if (index != -1) { // Indicate that the student was found. System.out.printf("FOUND Student (%s, %s) @ students[%d]", firstName, lastName, index); // Store the student we want to remove in 'student'. student = students[index] // If the student was found, start looping over the array of students starting at // that students position. for (int i = index; i < students.length; i++) { // Shift each student's position by 1. students[i] = students[i + 1]; } // Decrease the index by 1. (Assume 'index' is defined by your class). this.index--; // Display the resulting array of students. for (int i = 0; i < students.length; i++) { // Store the student at this index. Student student = students[i]; // Only display non-null students. if (student != null) { System.out.println(students[i]); } } } else { // Indicate that the student was not found. System.out.printf("COULD NOT FIND Student (%s, %s)", firstName, lastName); } // Return the resulting array of students. return student; } }