<<
final public class Daffodil {
    private static final int MIN = 100;
    private static final int MAX = 999;    private Daffodil() {}    public static int[] getAll() {
        List result = new ArrayList();
        for(int i=MIN; i<=MAX; i++) {
            if(isDaffodil(i, splitIntegerToArray(i))) {
                result.add(new Integer(i));
            }
        }
        int[] rets = new int[result.size()];
        for(int i=0;i<rets.length;i++)
            rets[i] = ((Integer)result.get(i)).intValue();
        return rets;
    }    // private :
    private static int[] splitIntegerToArray(int i) {
        String str = Integer.toString(i);
        return new int[]{Integer.parseInt(str.substring(0,1)),
        Integer.parseInt(str.substring(1,2)),
        Integer.parseInt(str.substring(2,3))};
    }    private static boolean isDaffodil(int ori, int[] parts) {
        return ori == parts[0] * parts[0] * parts[0] +
                parts[1] * parts[1] * parts[1] +
                parts[2] * parts[2] * parts[2];
    }
}
>>