JAVA 阶乘 的倒数求和

来源:百度知道 编辑:UC知道 时间:2024/05/29 05:12:16
public class Jiecheng {
public static void main(String args[])
{
int n=1,fct=1;
while(fct>1e4)
{
fct*=n;
n+=1

}
Jiecheng aa=new Jiecheng();

int sum=0,i,a;
if(i=1;i<n+1;i++)
{
a=aa.show(i);
sum=sum+1/a;

}
class Jiecheng
{
int show(int i)
{
if(i==1)
return 1;
else
return i*show(i-1);
}

}
System.out.println("e="+sum);
}

}
错在哪里? 菜鸟求助 只剩19分了

1
你的程序有很多的错误
给你程序做了一下更改
一个文件里只能有一个class,你的那个class Jiecheng
{
int show(int i)
{
if(i==1)
return 1;
else
return i*show(i-1);
}
应该是个方法,不应该这么写,另外while(fct>1e4)
{
fct*=n;
n+=1

}
也不知道你要干什么,就给你注释了,代码如下

public class Jiecheng {
public static void main(String args[]) {
int n = 5, fct = 1;
// while (fct > 1e4) {
// fct *= n;
// n += 1;
// }
Jiecheng aa = new Jiecheng();
float a,sum = 0;
int i = 0;
for (i = 1; i < n + 1; i++) {
a = aa.show(i);
sum = sum + 1 / a;
}

System.out.println("e=" + sum);
}

public int show(int i) {
if (i == 1) {
return 1;
} else {
return i * show(i - 1);
}
}
}

结果如下
e=1.7166666

看看是不是你要的

public class Jiecheng {
public static void main(