『壹』 java輸出水仙花數
錯誤出在d這個變數上面,我知道你這里的d是為了得到這個數的個位數,但是你只是對100進行了模操作,那麼這個結果就可能是兩位數,明顯和你的初衷不符,你應該在對100進行模操作的基礎上再對10做模操作,改成:
public
class
shxhnum
{
public
static
void
main(string[]
args)
{
int
a,
b,
c,
d,
i
=
0;
system.out.println("你要找的水仙花數為:
");
for
(a
=
100;
a
<
1000;
a++)
{
b
=
a
/
100;
c
=
(a
/
10)
%
10;
d
=
a
%
100
%
10;
if
(a
==
b
*
b
*
b
+
c
*
c
*
c
+
d
*
d
*
d)
{
system.out.println(a);
i++;
}
}
system.out.println("你找的水仙花個數為:"
+
i);
}
}
『貳』 java 列印出所有的 "水仙花數 "
水仙花數演算法以153為例,153 = 1^3 +5^3+3^3=1+125+27=153;
int b3 = 153/100;因為都是整數型,所以除法結果為1省去小數。
int b2 = 153%100/10;%取余數得到53/10同上,結果為5沒有小數。
int b1 = 153%10;153除以10的余數即為3,所以結果為3.
『叄』 java水仙花數
public class ShuiXianShu
{
/**
* 題目:列印出100-999之間所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。
* 例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
* 1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。*
*/
public static void main(String[] args)
{
for(int i=100;i<=999;i++)
{
int geWei,shiWei,Wei;
Wei=i/100;
shiWei=(i-Wei*100)/10;
geWei=i-Wei*100-shiWei*10;
if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+Wei*Wei*Wei)
{
System.out.println(i);
}
}
}
}
這個是我以前做過的,樓主可以參考
『肆』 用java語言編寫列印輸出100 ――999之間所有的水仙花數
輸入3就是100-999的
『伍』 用Java寫個關於「水仙花數」的程序
按一下代碼執行:
public class woo {
public static void main(String args[]) {
System.out.println("100-1000中的水仙花數有:");
for(int i=100;i<1000;i++){
int single = i%10;
int ten = i/10%10;
int hundred = i/10/10%10;
//水仙花數判斷要求
if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){
System.out.println(i);
}
}
}
}
(5)列印水仙花數java擴展閱讀:
水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
『陸』 java中能否使用方法輸出水仙花數
就以你這個闊以這么寫:
publicstaticvoidmain(String[]args){
for(inti=100;i<1000;i++){
intx=ShuiXianHua(i);
if(x!=0){
System.out.println(i);
}
}
}
publicstaticintShuiXianHua(intx){
inta,b,c;
a=x%10;
b=x/10%10;
c=x/100%10;
if(a*a*a+b*b*b+c*c*c==x){
returnx;
}
return0;
}
//另外一種寫法,
publicstaticvoidgetNum(){
for(inti=100;i<1000;i++){
inta=i,b=0,c=0;
while(a>0){
b=a%10;
c+=b*b*b;
a/=10;
}
if(c==i){
System.out.println(i);
}
}
}
//相信自己,其實你寫的很好,很直觀!
『柒』 java中for循環怎樣列印出所有的"水仙花數"
先寫一個函數計算一個數字的立方為多少。命名為cube()
private static int cube(int n) {
return n * n * n;
}
判斷這個數是不是水仙花數,求每一位數上的數的立方和是否為原數字本身即可。
『捌』 用java列印出所有的「水仙花數」。所謂的「水仙花數」是指一個三位數,其各位數字立方和等於該數本身
publicstaticvoidmain(finalString[]args){
System.out.println("所有的水仙花數如下:");
intx;//百分位
inty;//十位
intz;//個位
for(inti=100;i<1000;i++){
x=i/100;
y=(i-x*100)/10;
z=i%10;
if(i==(cubic(x)+cubic(y)+cubic(z))){
System.out.println(String.format("找到水仙花數:%d",i));
}
}
}
privatestaticintcubic(finalintn){
return(n*n*n);
}
所有的水仙花數如下:
找到水仙花數:153
找到水仙花數:370
找到水仙花數:371
找到水仙花數:407
『玖』 java編程,實現列印出所有的 "水仙花數 "
public static boolean judge(int i){
int min=0;//設置查找水仙花數的最小值
int max=1000;//設置查找水仙花數的最大值
int ge = i%10;
int shi = i/10%10;
int = i/100;
if(i==ge*ge*ge+shi*shi*shi+**){
System.out.println(i+"是水仙花數字");
}
}
public static void main(String[] args) {
for(int i=min;i<max;i++){
judge(i);
}
『拾』 java輸出所有水仙花數
publicstaticvoidmain(String[]args){
intx=0;//定義水仙花數的個數
for(inti=1;i<=1000;i++){
intb=i/100;//取得百位數
ints=(i-100*b)/10;//取得十位數
intg=(i-s*10-b*100);//取得個位數
if(i==g*g*g+s*s*s+b*b*b){
x++;//每次符合水仙花數條件,則x+1;
System.out.print(i+"");//輸出符合條件的數
}
}System.out.println();//換行
System.out.println("水仙花數總共有"+x+"個");//輸出水仙花數的總數
}
分析:水仙花數是指:一個三位數,其各位數字立方和等於該數本身。例如:370=33+73+00.這就說明370是一個水仙花數。
所以要判斷一個三位數是不是水仙花數,得先取得這個三位數的的個位,十位和百位。這里我由一下幾種方法:
1:
先取得他的百位:intBaiWei=x/100;因為int是整形,所以不會進行四捨五入,也不會管小數點後面的數。
再取得十位:intShiWei=(x-BaiWei*100)/10;先用這個數減去百位數*100,再除以10,原因同上。
最後取得個位數:intGeWei=x-BaiWei*100-ShiWei*10.很明顯,就能得到個位數。