输入数字找出到这个数字为止所有的水仙花数
public static void main(String[] args) {
int scanner;
int num = 0;
System.out.println("请输入大于0的任意整数:");
Scanner in = new Scanner(System.in);
while ((scanner = in.nextInt()) <= 0) {
System.out.println("您输入的数字有误,请重新输入!");
}
System.out.println("从1到" + scanner + "的水仙花数分别是:");
for (int i = 1; i <= scanner; i++) {
String j = i + "";
int length = j.length();
double sum = 0;
double[] n = new double[length];
double[] m = new double[length];
for (int q = 0; q < length; q++) {
n[q] = Double.parseDouble(j.substring(q, q + 1));
m[q] = Math.pow(n[q], length);
sum += m[q];
}
if (i == sum) {
num++;
System.out.print(i + " ");
}
}
System.out.println("共有" + num + "个");
}