Search code examples
javaalgorithmdivider

Errors: Divisible numbers code in java


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.


Solution

  • 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