您好,登錄后才能下訂單哦!
看到標(biāo)題java實(shí)現(xiàn)水仙花數(shù),首先先要知道什么是水仙花數(shù),具體了解一下
所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)
列如153=1*1*1+5*5*5+3*3*3 那么153就是水仙花數(shù),首先是分析需要的功能,首先他是一個(gè)3位數(shù)。
那值一定在100-1000之間,必定要用到循環(huán)??捎胒or循環(huán),while循環(huán),do while 循環(huán),其次是它需要滿足條件
“其各位數(shù)字立方和等于該數(shù)”,那么我們必須把他的各位的數(shù)字取出。我們?cè)谘h(huán)里做判斷,當(dāng)數(shù)滿足條件就將這個(gè)數(shù)取出。
那么可做出如下流程圖。
根據(jù)流程圖,可得如下代碼。代碼幾種循環(huán)的方法都用的了。
package com.tjgx.lxb; /*要求:100--1000的水仙花數(shù) * 水仙花定義:水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù) * **/ public class Daffodils { public static void main(String[] args) { System.out.println("用dowhile循環(huán)方法"); demo1(); System.out.println("用for循環(huán)方法"); demo2(); System.out.println("用while循環(huán)方法"); demo3(); } //用dowhile 循環(huán)來做 public static void demo1() { int i=100; do{ int g=i%10; //取出個(gè)位數(shù) int s=i/10%10; //取出十位數(shù) int b=i/100; //取出百位數(shù) if(g*g*g+s*s*s+b*b*b==i) { System.out.println(i+"是水仙花數(shù)"); } i++; }while(i<1000); } //用for循環(huán)來做 public static void demo2() { for(int j=100;j<1000;j++) { int g=j%10; //取出個(gè)位數(shù) int s=j/10%10; //取出十位數(shù) int b=j/100; //取出百位數(shù) if(g*g*g+s*s*s+b*b*b==j) { System.out.println(j+"是水仙花數(shù)"); } } } //用while循環(huán)來做 public static void demo3() { int k=100; while(k<1000) { int g=k%10; //取出個(gè)位數(shù) int s=k/10%10; //取出十位數(shù) int b=k/100; //取出百位數(shù) if(g*g*g+s*s*s+b*b*b==k) { System.out.println(k+"是水仙花數(shù)"); } k++; } } }
運(yùn)行結(jié)果如下圖
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。