Write a Java application that initializes an array with the following numbers, in this order:
23, 17, 5, 90, 12, 44, 38, 84, 77, 3, 66, 55, 1, 19, 37, 88, 8, 97, 25, 50, 75, 61, and 49
Then display the unsorted values. This is required output #1 of 6 for this program.
Using a sequential search of the unsorted array, determine and report the 1-relative (i.e. 1, 2, 3, 4, etc.)
positions of the following numbers in the array
and the number of searches required to locate the numbers: 25, 30, 50, 75, and 92.
This is required output #2 of 6.
Then display the total number of searches for all five numbers.
Sort the numbers using any algorithm of your choice and then display the sorted array. This is required output #4 of 6.
Using a binary search of the sorted array, determine and report the 1-relative positions of the following numbers in the array
(or -1 if not found), and the number of searches required to locate the numbers: 25, 30, 50, 75, and 92.
This is required output #5 of 6.
Finally, display the total number of searches for all five numbers. This is required output #6 of 6.
Try to create an object-oriented solution for your solution vs. a procedural one.
For example, you might have a class that stores an array passed by a driver class,
with methods for sorting the array, searching the array via a sequential search, searching the array via a binary search,
and output the current contents of the array.
The driver class could not only pass in the initial array values but call various methods
to perform the searches, sorting, and array contents display.
You may use any output type class you want (e.g. Scanner, JOptionPane)