我无法让Java中的阿姆斯特朗编号的for循环正常工作

因此,我尝试查找1-500之间的每个阿姆斯壮编号。我只需要为此使用For循环,我知道人们也可以使用While循环。我不确定在这里我做错了什么。它只给我375,但我知道153这样的数字也是一个阿姆斯特朗数。 `

在这里输入代码: 公共类ArmstrongNumber {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    //Armstrong numbers 1-500

    int D1;
    int D2; 
    int D3;



    for (int number = 1; number <= 500 ; number++) {
        int temp=number;
        D1=number%10; //ones

        temp= temp/10;
        D2=number%10; //tens

        temp= temp/10;
        D3=number%10; //hundreds

        if( ((D1*D1*D1) + (D2*D2*D2) + (D3*D3*D3)) == number)
        {
    System.out.println(number + " is a Armstrong number");
        }

    }


    }

}