标题:java自学之初级篇:麻烦各位老师看下 运行之后什么都没哟答应出来!
只看楼主
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
结帖率:0
 问题点数:0 回复次数:6 
java自学之初级篇:麻烦各位老师看下 运行之后什么都没哟答应出来!
class  zuoye3
{
    /*
        求水仙花数,所谓水仙花数
        是指一个三位数abc 如果满足 a3+b3+c3=abc
        则abc是水仙花数.打印所有的水仙花数;
        思路:百度得知水仙花数是值3位数所以最大值也就是999
        
    */
    public static void main(String[] args)
    {    int sum = 0;
        int n = 0;
        while (n<1000)
        {   
            int a = 0;
            int b = 0;
            int c = 0;
            a=n%10;
            b=n/10%10;
            c=n/100;
            sum= c*c*c+b*b*b+a*a*a;
            n++;
        
            if (n==sum)
            System.out.print(n);
        }
        
    }
}
搜索更多相关主题的帖子: 百度 public 水仙花 最大值 java 
2016-03-23 15:03
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:0 

n++放错了地方
public class  zuoye3
{
    /*
        求水仙花数,所谓水仙花数
       是指一个三位数abc 如果满足 a3+b3+c3=abc
        则abc是水仙花数.打印所有的水仙花数;
        思路:百度得知水仙花数是值3位数所以最大值也就是999
        
    */
    public static void main(String[] args)
    {    int sum = 0;
        int n = 0;
        while (n<1000)
        {   
            int a = 0;
            int b = 0;
            int c = 0;
            a=n%10;
            b=n/10%10;
            c=n/100;
            sum= c*c*c+b*b*b+a*a*a;
            
        
            if (n==sum)
            System.out.println(n);
            n++;
        }
        
    }
}
2016-03-23 15:16
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
得分:0 
回复 2楼 grmmylbs
谢谢,果然可以了,为什么会放下面就会可以了呢!老师麻烦解释下!.
2016-03-23 15:21
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:0 
你要判断当前的n与计算后sum的值是否相等,n++后就不是n了。比如本来153满足要求,sum的值也是153,但你在比较之前进行n++,就变成154与153比较了。
2016-03-23 15:33
jscs_he
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-3-23
得分:0 
回复 3楼 jscs_he
谢谢,瞬间明白了!
2016-03-23 15:48
小二狗
Rank: 3Rank: 3
来 自:南京
等 级:论坛游侠
威 望:4
帖 子:32
专家分:111
注 册:2016-3-14
得分:0 
我是这么写的,用的for循环
public class mystory4 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
          for(int i=100;i<=999;i++)
          {
           int geWei,shiWei,baiWei;
           baiWei=i/100%100;
           shiWei=i/10%10;
           geWei=i/1%10;
           if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei)
           {
            System.out.println(i);
           }
          }
    }
}

以不专业但努力的态度得到最专业的认知
2016-03-29 10:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved