Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.
Number Analyzer 1Write a generic class NurnberAnalyzer with a type parameter constrained to the Number class or any subclass of Number. The...
a generic class NumberAnalyzerwith a type parameter constrained to the Number class or any subclass of Number. The constructor should accept an array of such objects. The class should have methods that return the highest and lowest values in the array, the total of the elements, and the average value of all elements.
Number Analyzer 1Write a generic class NurnberAnalyzer with a type parameter constrained to the Numberclass or any subclass of Number. The constructor should accept an array of such objects. The class should have methods that return the highest and lowest values in the array, the total of the elements, and the average value of all elements. Test the class in main.(} witha couple of arrays of different base types.Guidelines: 0 Do not create a deep copy of the array passed to constructor. You will not be ableto do so because the base type is generic. The array will not be modified, so createa shallow copy instead. 0 Any arithmetic operations with values of type Number are impossible. Before doing any comparisons or aritlmietic operations you will need to convert Number object into a double value by using method doubleValueO. Example:Number a; ff initialization codedouble k = a.doubleValue{}; Name source files in your solution NumberAnalyzerDenro.java andNurnberAnalyzer.j ava