Respuesta :
Answer:
The Java code is given below with appropriate comments for better understanding
Explanation:
//DataAnalyzer.java
import java.util.*;
class DataAnalyzer
{
 private LinkedList<Integer> numbers;
 //Parameterized Constructor that stores the list of numbers
 public DataAnalyzer(LinkedList<Integer> numList)
 {
   //Storing numList to numbers
   numbers = numList;
 }
 //Implementation of min() method that returns minimum number
 public int min()
 {
   //consider starting number is the minimum number
   int minNum = numbers.get(0);
   //Iterate the numbers in the list
   for(int j=0; j < numbers.size(); j++)
   {
     //Comparing each number with minNum
     if( numbers.get(j) < minNum )
       //Update minimum number
       minNum = numbers.get(j);
   }
   //Return minimum number of the list
   return minNum;
 }
 //Implementation of max() method which returns maximum number
 public int max()
 {
   //consider starting number is the max number
   int maxNum = numbers.get(0);
   //Iterate the numbers in the list
   for(int j=0; j < numbers.size(); j++)
   {
     //Comparing each number with maxNum
     if( numbers.get(j) > maxNum )
       //Update maximum number
       maxNum = numbers.get(j);
   }
  Â
   //Return maximum number of the list
   return maxNum;
 }
 //Implementation of average() method returns average of all numbers
 public double average()
 {
    //Declare sum as type of integer and assign value as zero
   int sum = 0;
   //Declare avg as type of double type
   double avg;
  Â
   //Iterate the numbers in the list
   for(int j=0; j < numbers.size(); j++)
   {
     //add sum of numbers
     sum = sum + numbers.get(j);
   }
  Â
   avg = sum / (double)(numbers.size());
   //Return average value of the list
   return avg;
 }
}
DataAnalyzerTester.java
//DataAnalyzerTester.java
import java.util.*;
import java.io.*;
//Implementation of DataAnalyzetTester class
class DataAnalyzerTester
{
 //Main method
 public static void main(String args[])
 {
   try
   {
     //Declare numList as variable of type
   //Linked list that store user input
     LinkedList<Integer> numList = new LinkedList<Integer>();
     int num;
  Â
     //Declare Scanner class object
     Scanner input = new Scanner(System.in);
     String fileName;
     //Display statement
     System.out.print("\n Enter file name for storing numbers: ");
     fileName = input.nextLine();
    Â
     //Create a variable as file type
     File createfile = new File(fileName);
     //Creating file
     createfile.createNewFile();
     //Creating a FileWriter Object
     FileWriter writer = new FileWriter(createfile);
    Â
     System.out.println("\n Start entering numbers (0 to stop): \n\n");
  Â
     //Reading number
     num = input.nextInt();
  Â
     //Iterate the loop
     //until user enters 0
     while(num != 0)
     {
       //Writing numbers to the file
       writer.write(num + " \n ");
      Â
       //Add those numbers to list
       numList.add(num);
       //Get another number from user
       num = input.nextInt();
     }
     //Creating DataAnalyzer object
     DataAnalyzer analyzerObject = new DataAnalyzer(numList);
     //Display statement for min, max and average values
     System.out.println("\n\n Minimum Number: " + analyzerObject.min());
     writer.write("\n\n Minimum Number: " + analyzerObject.min());
     System.out.println("\n\n Maximum Number: " + analyzerObject.max());
     writer.write("\n\n Maximum Number: " + analyzerObject.max());
     System.out.println("\n\n Average: " + analyzerObject.average() + " \n\n");
     writer.write("\n\n Average: " + analyzerObject.average() + " \n\n");
    Â
     writer.flush();
    Â
     //Close the file object
     writer.close();
   }
  Â
   catch(Exception ex)
   {
   //display statement
     System.out.println(ex);
   }
 }
}