Java三种求水仙花数的方法

 更新时间:2018年02月26日 09:43:08   作者:彬菌  
本篇文章通过求水仙花数的实例来让大家对JAVA求数的概念和方法有更深入的理解和应用,学习参考下吧。

水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数

注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位

普通for循环:

public class Daffodil {
  public static void main(String[] args) {
    int count = 0;    //定义水仙花数的个数
    for(int i=100;i<=10000;i++){ //水仙花数范围
      int b = i/100;    //取得百位数
      int s = (i-100*b)/10;    //取得十位数
      int g = (i-s*10-b*100);    //取得个位数
      
      if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
        System.out.print(i+" ");  //输出符合条件的数
        count++;
      }
    }
    System.out.println();    //换行
    System.out.println("水仙花数总共有"+count+"个");  //输出水仙花数的总数
  }
}

while循环:

public class Daffodil {
  public static void main(String args[]){
    int i=100;
    int count=0; //定义水仙花数的个数
    while(i<10000){
      int b = i/100;    //取得百位数
      int s = (i-100*b)/10;    //取得十位数
      int g = (i-s*10-b*100);    //取得个位数
      
      if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
        System.out.print(i+" ");  //输出符合条件的数
        count++;
      }
      i+=1;
    }
    System.out.println();
    System.out.println("水仙花数总共有"+count+"个");  //输出水仙花数的总数
  }
}

do-while循环:

public class Daffodil {
  public static void main(String args[]){
    int i=100;
    int count=0; //定义水仙花数的个数
    do{
      i+=1;
      int b = i/100;    //取得百位数
      int s = (i-100*b)/10;    //取得十位数
      int g = (i-s*10-b*100);    //取得个位数
      
      if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
        System.out.print(i+" ");  //输出符合条件的数
        count++;
      }
    }while(i<10000);
    System.out.println();
    System.out.println("水仙花数总共有"+count+"个");  //输出水仙花数的总数
  }
}

 

相关文章

  • MyBatis-Plus非表字段的三种处理方法小结

    MyBatis-Plus非表字段的三种处理方法小结

    这篇文章主要介绍了MyBatis-Plus非表字段的三种处理方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot实现网站的登陆注册逻辑记录

    SpringBoot实现网站的登陆注册逻辑记录

    登陆注册功能是我们日常开发中经常遇到的一个功能,下面这篇文章主要给大家介绍了关于SpringBoot实现网站的登陆注册逻辑的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • mybatis的Configuration详解

    mybatis的Configuration详解

    这篇文章主要介绍了mybatis的Configuration详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java中joda日期格式化工具的使用示例

    Java中joda日期格式化工具的使用示例

    这篇文章主要介绍了Java中joda日期格式化工具的使用示例,帮助大家更好的利用Java处理时间,感兴趣的朋友可以了解下
    2021-01-01
  • 三种Java自定义DNS解析器方法与实践

    三种Java自定义DNS解析器方法与实践

    这篇文章主要分享三种Java自定义DNS解析器方法与实践,对于高性能的测试机(54C96G * 3)而言,可任意通过自定义Java DNS解析器来实现接口请求,下文内容的实现,需要的小伙伴可以参考一下
    2022-02-02
  • Java源码解析之接口Collection

    Java源码解析之接口Collection

    Collection是List、Queue和set的超集,它直接继承于Iterable,也就是说所有的Collection集合类都支持foreach循环.除此之外呢,Collection也是面向接口编程的典范,它可以在多种实现类间转换,这就是面向对象编程的厉害之处.接下来就随着小编一起去看看吧,需要的朋友可以参考下
    2021-05-05
  • JavaI/O深入学习之输入和输出

    JavaI/O深入学习之输入和输出

    这篇文章主要介绍了JavaI/O深入学习之输入和输出,Java类库中的I/O类分成输入和输出两部分,可以在JDK文档里的类层次结构中查看到。,需要的朋友可以参考下
    2019-06-06
  • 深入理解java三种工厂模式

    深入理解java三种工厂模式

    下面小编就为大家带来一篇深入理解java三种工厂模式。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 微信小程序后端Java接口开发的详细步骤

    微信小程序后端Java接口开发的详细步骤

    现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,本文就介绍了微信小程序后端Java接口开发的详细步骤,感兴趣的同学可以学习一下
    2021-11-11
  • JAVA8如何妙用Optional解决NPE问题详解

    JAVA8如何妙用Optional解决NPE问题详解

    在Java中,null代表一个不存在的对象,如果对它进行操作就会抛出java.lang.NullPointerException异常,下面这篇文章主要给大家介绍了关于JAVA8如何妙用Optional解决NPE问题的相关资料,需要的朋友可以参考下
    2018-06-06

最新评论