Java基础案例:查找水仙花数(for循环)详解

需求:在控制台输出所有的"水仙花数",水仙花数必须满足以下俩个要求:

1.水仙花数是一个三位数(100-999)

2.水仙花数的个位,十位,百位的数字立方和等于原数

分析:

① 定义一个for循环"100一直到999".

② 每次访问到数据后,提取该数据的个十百位.

③ 使用if判断:个位,十位,百位的数字立方和是否等于原数,等于则输出该数据.

水仙花数:153 370 371 407

//需求:找出水仙花数并输出
public static void main(String[] args){
//1.定义一个for循环找出全部三位数:100-999
    for(int i = 100;i <= 999;i++){
    //2.判断这个三位数是否满足要求:个十百位立方和相加等于原数
    //个位
    int ge = i % 10;
    //十位
    int shi = i / 10 % 10;
    //百位
    int bai = i / 100;
    //if判断是否满足要求
    if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){
    System.out.print("水仙花数分别是: " + i + "\t");
}
}
}

运行结果:

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水仙花数是指一个三位数,它的各个数的立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。现在我们来用Java编写一个利用for循环找出所有水仙花数的程序。 首先,我们可以使用一个for循环来遍历所有的三位数。从100开始,直到999结束,我们可以使用一个变量i作为循环计数器。每次循环中,我们判断i是否满足水仙花数的条件,如果满足,则将其输出。 具体的步骤如下: 1. 使用一个for循环,初始化i为100循环条件为i小于等于999,每次循环结束后,i增加1。 2. 在循环中,我们需要获取i的每一位数。首先,我们将i转换为符串类型,然后使用charAt方法获取每一位的符,再将符转换为整数类型。将每一位数的立方相加,保存到一个变量sum中。 3. 判断sum是否等于i,如果相等,则说明i是水仙花数,我们将其输出。 下面是Java代码示例: ```java for(int i = 100; i <= 999; i++){ int sum = 0; String num = String.valueOf(i); // 将i转换为符串类型 for(int j = 0; j < num.length(); j++){ int digit = Integer.parseInt(String.valueOf(num.charAt(j))); // 获取每一位数 sum += Math.pow(digit, 3); // 求每一位数的立方和 } if(sum == i){ System.out.println(i); // 输出水仙花数 } } ``` 以上代码会输出所有的水仙花数,结果为:153、370、371、407。 这样,我们就利用for循环找出了所有的水仙花数。通过循环遍历和条件判断,我们可以方便地求解各种数学问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值