展开全部
你的提问本32313133353236313431303231363533e78988e69d8331333337386661身就有点问题,水仙花水必须是3位数以上才存在,所以不可能是1开始的
同时你的代码逻辑也比较混乱,你要求到5位数,却定死3位处理。感觉你并没有理解水仙花数的意思,下面是我用JAVA简单写的一段代码,你拿去参考一下吧public class shuixianhua {
public static void main(String[] args) {
getNum(101,100000);
}
public static void getNum(int startNum, int endNum)
{
if(startNum<100){
System.out.println("不存在小于100的水仙花数");
return;
}
if(startNum==endNum){
System.out.println("最大边界不能等于最小边界");
return;
}
if(startNum>endNum){
int temp = endNum;
endNum = startNum;
startNum = temp;
}
System.out.println(startNum+"-"+endNum+"之间的水仙花数为:\r\n");
int count=0;
for(int i = startNum;i
String temp = String.valueOf(i);
int num= i;
int c = 0;
for(int j=0 ;j
int tempNum = num % 10;
num = num /10;
c += Math.pow(tempNum, temp.length());
}
if(c==i){
count++;
System.out.println("该范围内的第"+count+"个水仙花数为 : "+i);
}
}
}
}