因此,我尝试查找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");
}
}
}
}
You have to use remainder operation (
%
) totmp
:)))
您应该写D2 = temp%10,D3 = temp%10(用temp代替数字)。