public class Demo1 {
public static void main(String []args){
int n=10;
int t=n;
int sum=0;
while(t<=1000)
{
t++;
sum=sum+t%10;
t=t/10;
}
if(sum==5)
{
System.out.println("各個數位之和為5的有:"+t);
}
}
}
你的代碼的while只是統計某個數的各個位上的數值之和,但是又不太正確。正確的是需要兩層循環,外層從10-1000;內層循環計算每個數的各個位數和。修正如下:
public class Demo1 {
public static void main(String[] args) {
int n = 10;
//外層循環從10-1000
for(int i =n;i<1000;i++){
int sum = 0;
int t =i;
//內層循環,計算i的每個數位上的數字和
while (t>0) {
sum = sum + t % 10;
t = t / 10;
}
if (sum == 5) {
System.out.println("各個數位之和為5的有:" + i);
}
}
}
}
這樣測試就OK了。