public class narcissus{
public static void main(String[] args){
int k=4;//我这里可以获取,为了方便我直接写上了
double num=Math.pow(10,k-1);
double temp=0;
while(num<Math.pow(10,k)){
double[] a=new double[k-1];
for(int i=0;i<k;i++){
String num1=new String()
num1=""+num;
int temp1=(int)(num1.charAt(i));/*这里是错的,我不知道应该怎么写*/
a[i]=Math.pow(temp1,k);
temp=temp+a[i];
}
if (temp==num) System.out.println(num+"是水仙花数");
num=num+1;
}
}
}
public static void main(String[] args){
int k=4;//我这里可以获取,为了方便我直接写上了
double num=Math.pow(10,k-1);
double temp=0;
while(num<Math.pow(10,k)){
double[] a=new double[k-1];
for(int i=0;i<k;i++){
String num1=new String()
num1=""+num;
int temp1=(int)(num1.charAt(i));/*这里是错的,我不知道应该怎么写*/
a[i]=Math.pow(temp1,k);
temp=temp+a[i];
}
if (temp==num) System.out.println(num+"是水仙花数");
num=num+1;
}
}
}
{} 都不对称
String num1=new String()都没分号
public class narcissus{
public static void main(String[] args){
int k=4;//输入N位数
double num=Math.pow(10,k-1);//先取N位数的最小值
while(num<(Math.pow(10,k))){
double[] a=new double[k];
int i=0;
double temp=0;
while(i<k){
String num1= "" + num;
int temp1=Integer.parseInt(num1.substring(i,i+1));//取出N位数中各位的值
a[i]=Math.pow(temp1,k);
temp=temp+a[i];
i=i+1;
}
if (temp==num) System.out.println(num+"是水仙花数");
num=num+1;
}
}
}