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

1 answer

`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.