【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);
            }
        }
    }
}

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM