0

Trying to save odd numbers between 2 numbers in an array

public class OddNumber {

    static int[] oddNumbers(int l, int r) {
        if (r <= l)
            return null;
        int size = ((r - l) / 2) + 1;
        int arr[] = new int[size];
        int p = 0;
        for (int i = l; i <= r; i++) {

            if (i % 2 != 0) {
                arr[p] = i;
                p++;
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        System.out.println("Odd numbers between 2 & 9 are: " + oddNumbers(2, 9));
    }
}

It is always giving same junk value "Odd numbers between 2 & 9 are: [I@15db9742". I dont know what is the problem

YellowAfterlife
  • 2,967
  • 1
  • 16
  • 24

1 Answers1

0
public class Solution {

    static int[] oddNumbers(int l, int r) {

        List<Integer> list = new ArrayList<>();
        for (int i = l; i <= r; i++) {
            if (i % 2 == 0) {
                list.add(i);                
            }
        }


        int arr[] = new int[list.size()];
        for(int i = 0 ; i < list.size(); i++) {
            arr[i]=list.get(i);
        }
        return arr;
    }

    public static void main(String[] args) {

        int arr[] = oddNumbers(2, 9);
        for(int i : arr) {
            System.out.print(i + " ");
        }
    }

}
edmarr
  • 23
  • 4
  • Later Part was faulty, correct is public static void main(String[] args) { int result[] = oddNumbers(2, 9); System.out.print("Odd numbers between 2 & 9 are: "); for(int j=0;j – Rajan Kadwal Aug 19 '19 at 17:04
  • I only wrote the solution Rajan , about system.out out he must use printf to random numbers. – edmarr Aug 19 '19 at 17:29