黑马程序员技术交流社区

标题: 水仙花 [打印本页]

作者: 王际涛    时间: 2015-11-4 23:28
标题: 水仙花
数越大水仙花数出现的越少
import java.util.Scanner;
class shuixianhua2 {
        public static void main(String[] args) {
                Scanner in=new Scanner(System.in);
                while(true){
                        sop("输入水仙花数值上限:(如:1000或10000或更大的数)");
                        long asd=in.nextInt();
                        sop("从100到"+asd+"之间的水仙花数是:");
                        shuixianhua(asd);
                }       
        }       
        public static void shuixianhua(long a){//循环判断水仙花数
                int count=0;
                for (long i=100;i<a ;i++ ) {
                        if (fenhe(i)==i) {
                                sop(i);
                                count++;
                        }
                }
                sop("总个数是"+count);
        }
        public static long fenhe(long a){//n个数字中每个数字n次幂的和
                long sum=0;
                int geshu1 = geshu(a);
                int[] asd=new int[geshu1];
                int q=0;
                while(a>0){
                        asd[q]=(int)(a%10);
                        a/=10;
                        q++;
                }
                for(int j=0;j<geshu1;j++){
                        sum+=mi(asd[j],geshu1);
                }
                return sum;
        }

        public static int geshu(long a){//输入数字的个数
                        int count1=0;
                        long a1=a;
               
                        while (a1>0) {
                                a1/=10;
                                count1++;
                        }
                        return count1;
        }
        public static int mi(int a,int b){  //
                int mii=1;
                for (int i=0; i<b;i++ ) {
                        mii*=a;
                }
                return mii;
        }
       
         public static void sop(Object a){
                System.out.println(a);
        }
}

作者: 王际涛    时间: 2015-11-4 23:34
哎,写的乱七八糟的…
作者: 迷茫不堪的年纪    时间: 2015-11-4 23:48
小伙子 ,不错啊.
作者: jia7604112    时间: 2015-11-5 00:30
好歹写点注释呗
作者: 我若为神    时间: 2015-11-5 00:36
6666666666666666666
作者: young_ants    时间: 2015-11-5 13:38
水仙花数,不是就4个么.三位数的
作者: jlq    时间: 2015-11-5 13:40
soyidesinei
作者: 木子子木    时间: 2015-11-5 15:20
水仙花数,这个不是应该多加些注释么?
作者: 雾里看花。    时间: 2015-11-5 15:39
看完之后我醉了
作者: xing912    时间: 2015-11-5 16:03
看得眼晕
作者: 小笨笨天    时间: 2015-11-5 16:39
这代码看得 。。。。
作者: momoxixi    时间: 2015-11-5 17:38
  1.                 int a,b,c,sum ;
  2.                 StringBuilder sb = new StringBuilder();
  3.                 for (int i =100;i<1000;i++){
  4.                         sb.append(i);
  5.                         a = sb.charAt(0)-48;
  6.                         b = sb.charAt(1)-48;
  7.                         c = sb.charAt(2)-48;
  8.                         sum = a*a*a+b*b*b+c*c*c;
  9.                         if(sum == i){
  10.                                 System.out.println(i);
  11.                         }
  12.                         sb.delete(0,sb.length());

  13.                 }
复制代码

作者: 478883662    时间: 2015-11-5 18:45
scanner 这个对象不是很熟,我想问楼主这个运行后是不是你输入一个数字然后按一下回车就ok了?
这个in.nextInt()相当于那种等待式的方法么,就一直在那等着用户去输入值。
是么?
作者: zyh1578814923    时间: 2015-11-5 20:31
水仙花数是三位数啊
作者: 一脸的护胸毛丶    时间: 2015-11-5 20:38
水仙花数不应该是三位数么 ?
作者: 王际涛    时间: 2015-11-6 21:33
478883662 发表于 2015-11-5 18:45
scanner 这个对象不是很熟,我想问楼主这个运行后是不是你输入一个数字然后按一下回车就ok了?
这个in.next ...

输入一个数字然后按一下回车就ok了
作者: 王际涛    时间: 2015-11-6 21:36
zyh1578814923 发表于 2015-11-5 20:31
水仙花数是三位数啊

三位数的数字三次方和,四位数的数字四次方和,五位数的数字五次方和……然后,就这样了,纯属逗自己玩
作者: Camwly    时间: 2015-11-24 23:58
好东西啊
作者: anuo    时间: 2015-11-26 09:45
写作习惯希望可以改改哦,别人看的真心累
作者: 小布丁当    时间: 2015-11-26 10:10
简化 简化 !!!!!!!!!!!!!!!!1
作者: anuo    时间: 2015-12-1 10:04
zyh1578814923 发表于 2015-11-5 20:31
水仙花数是三位数啊

???水仙花数一定要是三位数啊?只是那个题目说的是三位数吧
作者: LSD-ZWH    时间: 2015-12-1 10:50
水仙花数貌似用不了这么多代码吧
作者: sun4w    时间: 2015-12-1 14:17
  论注释的重要性!
作者: Little_jie    时间: 2015-12-1 17:21
代码可以再精简点
作者: xuao277457401    时间: 2015-12-1 18:32
希望可以写的简单一点
作者: MRguo    时间: 2015-12-1 22:46
哥,你注释呢?
作者: ToSina    时间: 2015-12-1 23:57
眼花缭乱~~~~~~~~~~~~~~~~~~~~楼主写注释.
作者: liuzhipeng    时间: 2015-12-2 00:14
呵呵 楼主你是在这里做作业吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2