–莫夭阏– 2022-01-05 20:10 采纳率: 66.7%
浏览 29
已结题

需求:用java求水仙花数,不知道思路错在哪?



public class test5 {
    public static void main(String[] args) {
        int i;
        for (i = 100; i < 1000; i++) {
            int a = i;
            int x = i;
            int sum = 0;
            while (i != 0) {
                a %= 10;
                sum += a * a * a;
                i /= 10;
                a = i;
            }
            if (sum == x)
                System.out.println(x);
        }
    }
}

  • 写回答

3条回答 默认 最新

  • 张秋迟 2022-01-05 20:57
    关注

    while的条件不要用i,i已经被for循环用了,你在while中又把i赋值,会变成死循环。可以在第8行下,设置一个变量y = i,然后在while中使用y

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月6日
  • 已采纳回答 1月6日
  • 创建了问题 1月5日

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏