Проверь, что в методе getNumbers не возникает исключения, при любых входных данных.
package com.javarush.task.task20.task2025;
import java.util.ArrayList;
import java.util.Arrays;
/*
Алгоритмы-числа
*/
public class Solution {
public static Long[] getNumbers(long N) {
Long[] result = null;
if (N>0) {
ArrayList<Long> resList = new ArrayList<>();
int m;
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i = 1; i < N; i++) {
arrayList.add(i);
}
for (Integer el : arrayList) {
int el2 = el;
m = String.valueOf(el).length();
int kek = 0;
int a;
for (int i = 0; i < m; i++) {
a = el % 10;
kek += (int) Math.pow(a, m);
el = el / 10;
}
if (kek == el2) {
resList.add((long) kek);
}
}
result = resList.toArray(new Long[0]);
}
return result;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(getNumbers(10000)));
}
}