N位数的水仙花数如何求

img


题目如上,试了好多方法,运行不出来,请问有没有人可以解答一下↓到底怎么敲😵

img

public static void main(String[] args) {
        // 求出0~999之间的所有“水仙花数”并输出
        printNarcissusNum(0, 999);
    }

    public static void printNarcissusNum(int begin, int end) {
        for (int i = begin; i <= end; i++) {
            if (isNarcissusNum(i)) {
                System.out.println(i);
            }
        }
    }

    public static boolean isNarcissusNum(int i) {
        if (result(i) == i) {
            return true;
        }
        return false;
    }

    public static int result(int number) {
        int result = 0;
        while (number > 0) {
            int a = number % 10;
            result += a * a * a;
            number /= 10;
        }
        return result;
    }