你这个问题主要两个第一:水仙花数要求是3位数,而你从1开始到10000,这里面出现了一位数、两位数、三位数、四位数和五位数;第二:内层for循环完成后没有将tempd变量的值设置为0,这将导致下一次循环得到的tempd变量的值不对;另外还有一个不是很大的问题,那就是tempa=(int)(Math.floor(tempa/10));这种写法完全多余,直接tempa/=10;就可以了。
先搞清楚算法 水仙花数应该是 每个位置上的3次方 的和 等于他本身吧 这个算法都错了