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+"个");  //输出水仙花数的总数
  }
}

 

相关文章

  • 浅谈缓冲字符流 BufferedReader BufferedWriter用法

    浅谈缓冲字符流 BufferedReader BufferedWriter用法

    这篇文章主要介绍了缓冲字符流 BufferedReader BufferedWriter的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java中解压缩文件的方法详解(通用)

    Java中解压缩文件的方法详解(通用)

    在软件开发和数据处理领域,文件的解压缩和压缩是常见的任务,下面这篇文章主要给大家介绍了关于Java中解压缩文件的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Spring远程调用HttpClient/RestTemplate的方法

    Spring远程调用HttpClient/RestTemplate的方法

    这篇文章主要介绍了Spring远程调用HttpClient/RestTemplate的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java使用itext生成复杂数据的pdf的示例代码

    Java使用itext生成复杂数据的pdf的示例代码

    Apache iText 是一个开源 Java 库,支持 PDF 文档的开发和转换,在本教程中,我们将学习如何使用 iText 开发可以创建、转换和操作 PDF 文档的 Java 程序,感兴趣的小伙伴跟着小编一起来看看吧
    2024-12-12
  • java如何利用poi解析doc和docx中的数据

    java如何利用poi解析doc和docx中的数据

    这篇文章主要给大家介绍了关于java如何利用poi解析doc和docx中数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 解决java.util.HashMap$Values cannot be cast to java.ut的问题

    解决java.util.HashMap$Values cannot be cast to java.ut的问题

    这篇文章主要介绍了解决java.util.HashMap$Values cannot be cast to java.ut的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • IntelliJ IDEA使用快捷键重命名项目、变量、文件等方法总结

    IntelliJ IDEA使用快捷键重命名项目、变量、文件等方法总结

    今天小编就为大家分享一篇关于IntelliJ IDEA使用快捷键重命名项目、变量、文件等方法总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • JavaWeb中的filter过滤敏感词汇案例详解

    JavaWeb中的filter过滤敏感词汇案例详解

    敏感词、文字过滤是一个网站必不可少的功能,本篇文章主要介绍了JavaWeb中的filter过滤敏感词汇案例,具有一定的参考价值,有需要的可以了解一下,
    2016-11-11
  • Windows系统下JDK1.8与JDK11版本切换超详细教程

    Windows系统下JDK1.8与JDK11版本切换超详细教程

    这篇文章主要给大家介绍了关于Windows系统下JDK1.8与JDK11版本切换的超详细教程,我们可以有多个工程项目,用的JDK版本不一样,这个时候就需要进行自由切换JDK版本了,需要的朋友可以参考下
    2023-07-07
  • idea为java程序添加启动参数的问题解析(program arguments,vm arguments,Environment variable)并在程序中获取使用

    idea为java程序添加启动参数的问题解析(program arguments,vm arguments,Envi

    这篇文章主要介绍了idea为java程序添加启动参数的问题解析(program arguments,vm arguments,Environment variable)并在程序中获取使用,本文给大家分享问题描述及解决方法,需要的朋友可以参考下
    2023-09-09

最新评论