Я делаю маленькие шаги в работе с объектами и массивами объектов, столкнулся со следующей проблемой, и я не могу понять, что вызывает это. Для некоторого контекста приложение, которое я создаю, является своего рода калькулятором.
Подводя итог, у меня есть два массива, которые уже были заполнены. Первый массив содержит индексы, где начинаются числовые элементы. Второй массив содержит сами элементы. Я хочу создать массив объектов (с двумя атрибутами, атрибуты: индексы и элементы.
int numericElementCounter;
// Значение переменной numericElementCounter на данный момент известно и используется для определения длины массивов.
int[] IndexBeginning = new int[numericElementCounter];
// Содержит начальные индексы каждого числового элемента.
double[] NumericElementsDouble = new double[numericElementCounter];
// Содержит сами элементы.
// Здесь есть цикл for, который заполняет инициализированные выше массивы, но я сомневаюсь, что это часть проблемы, добавит его по запросу.
NumericElements[] NumericElementsObjects = new NumericElements[numericElementCounter];
// Это попытка инициализировать массив объектов.
public class NumericElements {
int IndexStart;
double NumericElement;
public NumericElements(int x, double y) {
int IndexStart = x;
double NumericElement = y;
}
}
//This is the 'for' loop that attempts to fill the array of objects.
for(int n=0;n<numericElementCounter;n++){
System.out.println("The element starts at: " + IndexBeginning[n]);
System.out.println("The element itself is: " + NumericElementsDouble[n]);
NumericElementsObjects[n] = new NumericElements(IndexBeginning[n], NumericElementsDouble[n]);
System.out.println("The object's IndexStart attribute: " + NumericElementsObjects[n].IndexStart + " The object's numericElement attribute: " + NumericElementsObjects[n].NumericElement);
}
Например ,
Ввод:
String UserInput = " 234 + 256 + 278 ";
Фактический результат:
The element starts at 2
The element itself is: 234.0
The object's IndexStart attribute: 0 The object's numericElement attribute: 0.0
The element starts at 8
The element itself is: 256.0
The object's IndexStart attribute: 0 The object's numericElement attribute: 0.0
The element starts at 14
The element itself is: 278.0
The object's IndexStart attribute: 0 The object's numericElement attribute: 0.0
Я пытался минимизировать код таким образом, чтобы я предоставлял только то, что нужно, если вы, ребята, чувствуете, что чего-то не хватает, я выложу весь код.
Ожидаются атрибуты объектов, часть массива объектов, которые должны быть заполнены. Но они остаются на значении 0/0.0