FATE.Unicorn
2021-09-12 18:26
采纳率: 94.3%
浏览 54
已结题

Java求水仙花数 利用for循环

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+ 5的三次方 +3 的三次方。
程序分析:利用 for循环控制100-999个数,每个数分解出个位,十位,百位。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • D狂风R 2021-09-12 19:01
    已采纳
    
        public static void main(String[] args) {
            List list = new ArrayList();
            for(int i = 100; i < 999; i++){
                String str = String.valueOf(i);
                if(test(str))
                    list.add(i);
            }
            System.out.println(list);
        }
    
        public static boolean test(String str){
            int sum = 0;
            for(int i = 0; i < str.length(); i++){
                String j = String.valueOf(str.charAt(i));
                int k = Integer.valueOf(j);
                sum += k*k*k;
            }
            if(sum == Integer.valueOf(str)){
                return true;
            }
            return false;
        }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题