Я довольно новичок в Java и пытаюсь найти способ скопировать все простые числа внутри массива и скопировать их в другой массив.
Для этого я реализовал отдельный метод isPrime()
, чтобы проверить, является ли элемент простым, и другой метод, который подсчитывает число простых чисел в этом массиве countPrimes()
, так что я могу определить новый массив размер.
Вот где я застрял:
public static int[] primesIn(int[] arr) {
int primeHolder = countPrimes(arr);
int[] copyArr = new int[primeHolder];
for (int i = 0; i < arr.length; i++) {
if (isPrime(arr[i]) == true) {
copyArr[>Needs to start from 0<] = arr[i];
}
}
return copyArr;
}
int[] arrayMan = {3,5,10,15,13};
В copyArr
позиция должна быть 0
, за которой следует +1
каждый раз, когда она находит простое число. Если бы я дал ей позицию i
, как в copyArr[i] = arr[i]
, то сказал бы, что штрих находится в позиции 5
, он попытался бы сохранить премьер в позиции 5
из copyArr
, которая не существует если бы в исходном массиве было только три простых числа, то длина copyArr
составила бы только три.
Что-то подсказывает мне другой цикл for, или, может быть, поможет еще один, но я не понимаю, как мне это реализовать. Помощь очень ценится!