打印水仙花数为什么运行结果只有407一个结果,代码错在哪里?
public class NarcissisticNumber {
public static void main(String[] args){
for(int i=100;i<=999;i++){
int x=i/100;//取到百位
int y=i%10/10;//取到十位
int z=i%10;//取到个位
if(i==x*x*x+y*y*y+z*z*z)
System.out.println(i+"是水仙花数!");
}
}
} 作者: 火焱 时间: 2012-6-15 14:52
int y=i%10/10;//取到十位
public class NarcissisticNumber
{
public static void main(String args[])
{ int x=0,y=0,z=0;
for(int i=100;i <1000;i++)
{
x=i/100;
y=(i/10)%10;
z=i%10;
if (x*x*x+y*y*y+z*z*z==i)
System.out.println(i+"是水仙花数!");
}
}
}
这样就可以了,楼主的取位有错误作者: 陌花╮有意、 时间: 2012-6-15 15:01
public class FlowerNumber {
public static void main(String[] args) {
for(int i=100;i<999;i++) {
int x = i/100; //取百位
int y= i%100/10; //取十位
int z=i%100%10; //取个位
陌花╮有意、 发表于 2012-6-15 15:01
public class FlowerNumber {
public static void main(String[] args) {
for(int i=100;i
不好意思是十位计算错误作者: ☆丿灬北纬28° 时间: 2012-6-15 15:05
int y=i%10/10;//取到十位
这个十位数取得不对吧,应该是 i/10%10作者: 胡大强 时间: 2012-6-15 21:15
public class FlowerNumber {
public static void main(String[] args) {
for(int i=100;i<999;i++) {
int x = i/100; //取百位
int y= i%100/10; //取十位 //显然你取十位i%10/10不对。。。
int z=i%100%10; //取个位 //个位i%10也不对。。。