java I am trying to run my code but it is not letting me i dont know what i should do or fix. Thank you so much for your help. This is the problem and my code will be on the bottom. Problem #1 and Only Dynamic Array of Integers Class Create a class named DynamicArray that will have convenient functionality similar to JavaScripts Array object and Javas ArrayList class. The class allows to store array of integers that can grow and shrink as needed, search for values, remove elements, etc. You are not allowed to use ArrayList object as well as any methods from java.util.Arrays class. Please see the list of required features and methods below. private int array[] You MUST store the data internally in a regular partially-filled array of integers. Please DO NOT USE ArrayList. The size of the allocated array is its capacity and will be discussed below. private int size. This variable stores the number of occupied elements in the array. Set to 0 in the constructor. Constructor with parameter. The parameter defines the capacity (length) of initial array. Allocates array of given capacity (length), sets size field to 0. In case the parameter given to constructor is 0 or negative, IllegalArgumentException is being thrown. No-argument constructor. Allocates array of length 3, assigns it to the array field, sets size field to 0. Copy constructor. The constructor takes an object of type DynamicArray as a parameter and copies it into the object it creates. The constructor throws IllegalArgumentException if the object that was passed to copy from is null. int getSize() returns the number of occupied elements in the array. int getCapacity() returns the actual size (length) of the partially-filled array int [] getArray() accessor returns the entire partially-filled array. Make sure you DO NOT return the private array field, make a copy of it. int [] toArray() accessor returns an occupied part of the partially-filled array. Make sure you DO NOT return the private array field. Instead, allocate memory for the new array, copy the occupied portion of the field into that new object, and return the new array. public void push(int num) adds a new element to the end of the array and increments the size field. If the array is full, you need to increase the capacity of the array: Create a new array with the size equal to double the capacity of the original one. Copy all the elements from the array field to the new array. Add the new element to the end of the new array. Use new array as an array field. Make sure your method works well when new elements are added to an empty DynamicArray. public int pop() throws RuntimeException removes the last element of the array and returns it. Decrements the size field. If the array is empty a RuntimeException with the message Array is empty must be thrown. At this point check the capacity of the array. If the capacity is 4 times larger than the number of occupied elements (size), it is time to shrink the array: Create a new array wi.