Вы не определяете конструктор для своего класса.
Правильное определение конструктора в Java:
Difference(int[] elementsArray) {
...
}
Ошибка, которую вы видите, связана с тем, что классы получают один конструктор по умолчанию с нулевыми аргументами. Поскольку вы не определили какой-либо конструктор, компилятор считает, что он должен придерживаться конструктора по умолчанию.
Что касается NullPointerException , которое вы получаете.
private int[] elements
не инициализируется. По умолчанию для переменных-членов класса установлено значение null, если они являются объектами, и значения по умолчанию, если они являются примитивами. В Java массивы считаются объектами, поэтому переменная элементов имеет значение null.
Вот рабочий код:
Difference(int[] elementsArray) {
elements = new int[elementsArray.length];
for (int i = 0; i < elementsArray.length; i++) {
elements[i] = elementsArray[i];
}
}