I created a code that takes in an array of numbers and a divider and returns an array of numbers that are divisible by the divider.
public class EvenNumbers {
public static int[] divisibleBy(int[] numbers, int divider) {
int i = 0;
int[] divisibleNumbers = new int[0];
while (i < numbers.length){
if (numbers[i] % divider == 0){
divisibleNumbers.push(numbers[i]);
i++;
} else {
i++;
}
}
return divisibleNumbers;
}
}
However I get an error that I dont know how to fix: Error: cannot find symbol in the push elements statment.
If anyone knows how I could fix this 2 errors please answer in the comments, the help is much appriciated.
You have to compare with ==
, not assign the value
if (numbers[i] % divider == 0){
You are creating an array of [0] elements which size is not-modifiable, try using a List or a bigger array
List<Integer> divisibleNumbers = new ArrayList<Integer>();
Or
int[] divisibleNumbers = new int[numbers.length]; //since you will never get more numbers than those which are in numbers
And add elements as:
divisibleNumbers.add(element); //list
divisibleNumbers[position] = element; //array