源碼如下:
----------DaffodilNumber.java-------------
public class DaffodilNumber {
public static void main(String[] args) {
int number = 100;
System.out.println("水仙花數有:");
while(number++ < 1000)
if(isDaffodilNumber(number))
System.out.print(number + " ");
}
public static boolean isDaffodilNumber(int number) {
if(number < 100 || number > 999) // 如果不是三位數,直接返回false
return false;
int unitDigit = number % 10;//個位數
int tensDigit = ((number - unitDigit) % 100) / 10;//十位數
int hundredDigit = (number - unitDigit - tensDigit * 10) / 100;//百位數
if(number == (unitDigit * unitDigit * unitDigit
+ tensDigit * tensDigit *tensDigit
+ hundredDigit * hundredDigit * hundredDigit))
return true;
else
return false;
}
}
運行結果為:
水仙花數有:
153 370 371 407
只是簡單的寫了壹個,沒有過多的考慮效率問題,妳可以改改。
估計也是作業,算是補交我當年的作業。
好好學習。