Create a Java program that reads names from a data file (e.g., names.txt) and dynamically inserts them into a list in alphabetical order. The program should include the following features:
a. Prompt the user to input the file name for reading.
b. Read names from the specified file (names.txt).
c. Insert names into the list in the correct alphabetical order without pre-sorting.
d. Implement essential methods such as init(), makeNode(), insert(), buildIndex(), etc.
e. Utilize a console-based menu with options to:
i. Display the entire list.
ii. Retrieve the length of the list.
iii. Allow the user to delete a specific name from the list.
iv. Obtain the length of a particular section of the list (e.g., count people with names starting with "B").
v. Print sections of names based on user input (e.g., print names starting with "A", "B", etc.).
This program aims to manage and display the list of names dynamically while offering menu options for various operations.