1. 程式人生 > >【Java基礎】for迴圈實現在控制檯列印水仙花數

【Java基礎】for迴圈實現在控制檯列印水仙花數

程式碼:

/*
 * 需求:在控制檯輸出所有的”水仙花數”
 * 
 * 分析:
 *         什麼是水仙花數呢?
 *             所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。
 *            舉例:153就是一個水仙花數。
 *            153 = 1*1*1 + 5*5*5 + 3*3*3
 *
 *        A:三位數其實就告訴了我們水仙花數的範圍
 *            100-999
 *        B:如何獲取一個數據的每一個位上的數呢?
 *            舉例:我有一個數據153,請問如何獲取到個位,十位,百位
 *            個位:153%10 = 3;
 *            十位:153/10%10 = 5;
 *            百位:153/10/10%10 = 1;
 *            千位:...
 *            萬位:...
 *        C:讓每個位上的立方和相加,並和該資料進行比較,如果相等,就說明該資料是水仙花數,在控制檯輸出
 
*/ public class ForTest { public static void main(String[] args) { //通過迴圈獲取到每一個三位數 for(int x=100; x<1000; x++) { //獲取個位,十位,百位 int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; //讓每個位上的立方和相加,並和該資料進行比較,如果相等,就說明該資料是水仙花數,在控制檯輸出
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) { System.out.println(x); } } } }

結果: