import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String s = "1 34 5 23 7 89 32 4 10 3 6 5";
        System.out.println(Arrays.toString(string2array(s)));
    }

    public static int[] string2array(String s) {
        return util1(s, 0, 0, false);
    }

    private static int[] util1(String s, int n, int l, boolean b) {
        if (s.isEmpty()) {
            return b ? util2(l, n, new int[l + 1]) : new int[l];
        }
        if (Character.isWhitespace(s.charAt(0))) {
            return b ? util2(l, n, util1(s.substring(1), 0, l + 1, false)) : util1(s.substring(1), 0, l, false);
        }
        return util1(s.substring(1), n * 10 + Character.digit(s.charAt(0), 10), l, true);
    }

    private static int[] util2(int idx, int value, int[] array) {
        array[idx] = value;
        return array;
    }
}
