请问一下大家4.6那道题为什么一直不对,试了很久了,还是有问题
可以这样计算,首先从输入获取一个整数n,然后用循环计算从1到n之间的每一项,然后累加每一项即最终结果。
参考链接:
在键盘上输入数n,编程计算sum=1-1/2!+1/3!-1/4!+…(-1)n-1*1/n!_酷酷滴Q的博客-CSDN博客
代码如下:
import java.util.Scanner;
public class FactorialTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n;
double sum=0;
//从输入获取一个整数n
System.out.println("请输入一个整数n:");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
int a = -1; //用于计算每一项前面的正负,即(-1)^(n-1)次方
double factorial =1;
for(int i=1;i<=n;i++) {
a*=-1; //计算符号位,即(-1)^(n-1)次方,用这种方法可以简易计算出和(-1)^(n-1)次方相同的结果
factorial *= i; //计算每一项的阶层
sum+= a* 1/factorial ;//最终的结果就是把每一项的结果(即符号位乘以每一项阶乘分之一)累加起来
}
//打印结果
System.out.println("结果是:"+sum);
}
}