黑马程序员技术交流社区

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

作者: Fangjie    时间: 2016-6-12 08:08
标题: 打印水仙花数
打印指定的水仙花数,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。public static void main(String[] args) {
                //输出提示信息
                System.out.println("请输入一个数字,来搜索从100到它的水仙花数");
               
                //开启控制台输入流,接收一个数字,并把它转成字符串。
                Scanner sc = new Scanner(System.in);
                String str = sc.nextLine();
                sc.close();
               
                //判断,如果字符串的长度不等于3,则它不满足水仙花数的条件,输出提示信息
                if(str.length()!=3){
                        System.out.println("您输入的数字格式不符合水仙花数");
                }else{
                       
                        //如果满足则开始判断,先转成把该数转成int型,在定义3个int,用来存放该数的个,十,佰,位
                        int b,s,g,num = Integer.parseInt(str);       
                       
                        //开始遍历,从100到输入的num数
                        for(int x=100;x<num;x++){
                                b=x/100;
                                s=(x-b*100)/10;
                                g=x-b*100-s*10;
                               
                                //判断如果满足三个数的立方之和等于该数,则输出次数
                                if(x==(int)(Math.pow(g, 3)+Math.pow(s, 3)+Math.pow(b, 3))){
                                        System.out.println("从100到"+num+"的水仙花数有"+x);
                                }
                        }
                }
               
       
        }


作者: 星空@3    时间: 2016-6-12 08:51
不错不错, 竟然用到了流操作!
作者: Fangjie    时间: 2016-6-12 09:14
星空@3 发表于 2016-6-12 08:51
不错不错, 竟然用到了流操作!

谢谢,一起学习!




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