Write a program that reads a sequence of integers into an array and that computes the alternating sum of all elements in the array. For example, if the program is executed with the input data

1 4 9 16 9 7 4 9 11

then it computes

1 - 4 + 9 - 16 + 9 - 7 + 4 - 9 + 11 = - 2

Complete the following files:

AlternatingSumTester2.java

DataSet.java

import java.util.Arrays; /** This class computes the alternating sum of a set of data values. */ public class DataSet { private double[] data; private int dataSize; /** Constructs an empty data set. */ public DataSet() { final int DATA_LENGTH = 100; data = new double[DATA_LENGTH]; dataSize = 0; } /** Adds a data value to the data set. @param x a data value */ public void add(double x) { if (dataSize == data.length) data = Arrays.copyOf(data, 2 * data.length); data[dataSize] = x; dataSize++; } /** Gets the alternating sum of the added data. @return sum the sum of the alternating data or 0 if no data has been added */ public double alternatingSum() { . . . } }

Use the following file:

AlternatingSumTester.java

/**
   This program calculates an alternating sum.
*/
public class AlternatingSumTester
{
   public static void main(String[] args)
   {
      DataSet data = new DataSet();
      
      data.add(1);
      data.add(4);
      data.add(9);
      data.add(16);
      data.add(9);
      data.add(7);
      data.add(4);
      data.add(9);
      data.add(11);
      
      double sum = data.alternatingSum();
      System.out.println("Alternating Sum: " + sum);
      System.out.println("Expected: -2.0");
   }
}