ABC College is a local education provider that specialises in software development, information management, and mobile application development training. The educational provider has recently opened a college in your town and has hired the software development house you work for to design a Java application to manage their students.

Your line manager has requested you develop the application with the following requirements: 1.1. When the application starts, it must display the following menu structure:
Sample Menu Screen Shot
1.2. If the user selects to capture a new student, you must save all the information supplied by the user to memory. You may use arrays or array lists to save the student model to achieve this.
Sample Capture Student Screen Shot
1.3. If the user enters an incorrect student age, prompt the user to re-enter a valid one. A valid student age is any age greater than or equal to 16. Only numbers are allowed to be supplied when entering a student’s age.

Sample Screen Shot of an invalid student age character.
Sample Screen Shot of an invalid age.
1.4. Once the entire submission has been completed, the user must be informed that the student details have been successfully saved.
1.5. The user must have the ability to search for a student. The user will select menu item two, which will prompt the user to enter a student ID. If a student is found in the application, display the student’s details to the user. If no student is found, display an error message to the user that the student cannot be located.
Sample Student Search Screen Shot
Sample Invalid Student Screen Shot
1.6. The user must have the option to delete a student that has been saved. The user must first enter the student ID to be deleted. The user must confirm whether they want to delete the student.

1.7. When the user selects to view the student report, display the report below, which is generated from the memory collection in your application.
Sample Report Screen Shot
1.8. Finally, provide the ability for the user to exit the application.
Additional Requirements:
1.9. In your solution, you are required to create a class called Student which will contain all your working methods.
1.10. This class will, as a minimum, contain the following methods, but you are encouraged to add more methods:
• SaveStudent();

• SearchStudent();
• DeleteStudent();
• StudentReport();
• ExitStudentApplication ();
1.11. Create a main class to run your application.
use the Java method

`Scanner` to capture user input.

1.12. Use appropriate error handling techniques to handle any potential errors in the user input.
1.13. Use appropriate data structures (such as arrays or array lists) to store and manage the student data in memory.
1.14. Implement validation logic to ensure that only valid student data is accepted and stored.
1.15. Use formatted output to display the student details and the generated student report.
1.16. Ensure the application follows Object-Oriented Programming principles and best practices, such as encapsulation and modularization.
1.17. Comment your code to explain the purpose and functionality of different methods and sections of code.
1.18. Test your application thoroughly to ensure it is functioning as expected and handles different scenarios correctly.
1.19. Provide proper user instructions, input prompts, and error messages to enhance usability and user experience.
1.20. Ensure the application is user-friendly and easy to navigate by following a logical flow and providing clear menu options.
1.21. Follow coding conventions and proper formatting to ensure readability and maintainability of the code.
1.22. Include appropriate documentation, such as a README file, to explain how to run the application and any additional information or requirements.

To develop the Java application to manage the students for ABC College, you will need to follow these steps:

Step 1: Create the Student Class

1.1. Create a new class called "Student".
1.2. Inside the Student class, declare the necessary instance variables to store the student's information, such as studentID, name, age, etc.
1.3. Implement a method named "SaveStudent()" to capture a new student's information and save it to memory (using arrays or ArrayList).
1.4. Implement a method named "SearchStudent()" to search for a student based on the studentID entered by the user and display the student's details if found.
1.5. Implement a method named "DeleteStudent()" to delete a student based on the studentID entered by the user after confirming their choice.
1.6. Implement a method named "StudentReport()" to generate and display a report of all the students' details saved in the memory collection.
1.7. Implement a method named "ExitStudentApplication()" to exit the application.

Step 2: Create the Main Class

2.1. Create a new class called "Main" (or any other name you prefer).
2.2. Inside the Main class, create an instance of the Student class.
2.3. Implement the main method to run the application and display the menu structure.
2.4. Handle the user's selection from the menu using a loop to continuously prompt the user for input until they choose to exit the application.
2.5. Based on the user's selection, call the corresponding method from the Student class to perform the desired operation (e.g., save a student, search for a student, delete a student, generate a report, or exit).

Step 3: Implement the Menu Structure and User Input Handling

3.1. In the main method, display the menu structure using print statements or a text-based user interface library.
3.2. Prompt the user for their selection by using the Scanner class to read input from the console.
3.3. Validate the user's input to ensure it corresponds to one of the menu options. If the input is invalid, display an error message and prompt again.
3.4. Based on the user's valid selection, call the corresponding method from the Student class to perform the desired operation.

That's it! You have now developed a Java application to manage the students for ABC College. Make sure to test your application thoroughly to ensure it meets all the requirements mentioned in the initial description.

To develop the Java application to manage students for ABC College, you would need to follow the requirements provided. Here's a step-by-step guide:

1. Create a class called "Student" that will contain all the working methods for managing students.

2. In the "Student" class, implement the following methods:

- "SaveStudent()": This method will capture and save all the information provided by the user. You can use arrays or array lists to store the student models.

- "SearchStudent()": This method will allow the user to search for a student by entering their ID. If a student is found, display their details. If not, display an error message.

- "DeleteStudent()": This method will prompt the user to enter the ID of the student they want to delete. Confirm with the user if they want to delete the student.

- "StudentReport()": This method will generate a report using the memory collection in your application. Display the report to the user.

- "ExitStudentApplication()": This method will provide the ability for the user to exit the application.

3. Create a main class to run your application. In the main class, initialize an instance of the "Student" class and call the methods based on the user's input.

4. In the main class, implement the interface to handle user input and display the menu structure.

- Display the menu structure to the user when the application starts.

- Capture user input for menu choices and call the appropriate methods based on the selected option.

- Validate the student age input to ensure it is a number and greater than or equal to 16. Prompt the user to re-enter if an invalid age is entered.

- Display success messages when student details are saved or deleted.

- Display appropriate error messages when a student is not found or when invalid input is received.

5. Implement the functionality to save student details, search for students, delete students, generate reports, and exit the application using the methods defined in the "Student" class.

By following these steps and using the Java programming language, you will be able to develop the required Java application to manage students for ABC College.