定义一个一维数组长度为4,将所有的水仙花数保存到这个数组中

如题,求大神给个代码,我做的时候就求出了水仙花数,不知道怎么循环存入数组里。我上午做完一运行,发现数组里每个水仙花数存了4次。。。

public class Flower {
public static void main(String[] args) {
int[] num = new int[4];
int j = 0;
for(int i = 100; i<1000; i++){
int bai = i/100;
int shi = i%100/10;
int ge = i%10;
int sum = (int) (Math.pow(bai, 3)+Math.pow(shi, 3)+Math.pow(ge, 3));
if(i==sum){
num[j] = i;
j++;
}
}
for(int i = 0; i < num.length; i++){
System.out.println(num[i]);
}
}
}