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;
}
}
}

解决方案 »

  1.   

    问题多多:
    {} 都不对称
    String num1=new String()都没分号
      

  2.   

    :) 今天摸索了一下 已经被我解决了  嘿嘿!!!贴出代码 让大家检验下,加上同学游戏号被盗(我最喜欢幸灾乐祸了),今天心情不错 嘿嘿
    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;
    }
    }
    }