java编程求1到10的阶乘和,请问哪里错了???

public class Sum
{
public static void main(String args[])
{
int sum=0,i,a=1;
for(i=1;i<=10;i++)
{
sum=sum+a;
a=a*i;
}
System.out.println("sum= "+sum);
}
}

需要两层循环 外层是循环从几加到几
内层是 求当前数字的阶乘
public class Sum
{
public static void main(String args[])
{
int sum=0,i,a=1;
for(i=1;i<=10;i++)
{
a=1;//每次循环a要赋初值
for(int j=1;j<=i;j++)
a*=j;
sum=sum+a;
}
System.out.println("sum= "+sum);
}
}

上面有个哥们用的递归 也不错 不过不好理解
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-16
阶乘求和应该放在求阶乘下面
public class Sum {
public static void main(String args[]) {
int sum = 0, i, a = 1;
for (i = 1; i <= 10; i++) {
a = a * i;
sum = sum + a;
}
System.out.println("sum= " + sum);
}
}本回答被提问者和网友采纳
第2个回答  2011-03-16
public class Sum {
public static void main(String args[]) {
int sum = 1;
for (int i = 1; i <= 10; i++) {
sum =sum*i;
}
System.out.println("sum=" + sum);
}
}
第3个回答  2011-03-16
sum=sum+a;
a=a*i;

改成

a=a*i;
sum=sum+a;
第4个回答  2011-03-16
public class Sum
{
public int void add(int a)
{
int sum=0;
if(a==1){
return 1;
}
for(i=1;i<=a;i++)
{
sum=sum+add(a-1)*a;
}
return sum ;
}
}