Поэтому я пытаюсь создать новый массив другой длины, передавая массив из метода main, но у меня возникли проблемы. По сути, я пытаюсь сделать так, чтобы мои начальные значения массива
int [] myInches = {89,12,33,7,72,42,76,49,69,85,61,23};
передается моему методу createLowerArray и, сравнивая его с пользовательским вводом maxParam, создает новый массив и возвращает его.
public static int [] createLowerArray(int maxParam, int [] myInchesParam) {
int [] betterInches = {0,0,0,0,0,0,0,0,0,0};
for (int i = 0; i < myInchesParam.length; i++) {
if (myInchesParam[i] < maxParam)
betterInches[i] = myInchesParam[i];
}
return betterInches;
}
Итак, скажем, пользователь вводит «40», он будет видеть, были ли соответствующие элементы в myInches / myInchesParam меньше или нет, и если бы они были, заменили массив, который я создал в этом методе, на его соответствующее значение. Так как 12, 33, 7 и 23 являются единственными элементами меньше 40, он должен создать массив длиной 3 с позицией 0, равной 12, [1] = 12, [2] = 7 и [3] = 23 Я знаю, что вы не можете сделать массив больше, чем он уже есть из-за проблем с памятью, но возможно ли сделать его меньшим из того, что он уже прав? Если это также невозможно, чем я хотел бы знать, как получить этот результат, так как в данный момент возвращаемый массив имеет ту же длину, что и оригинал с неправильными позициями элементов
это не то, что я хочу сделать. Заранее благодарю за любую помощь.