小白求助,求大佬们写的简单一点,谢谢啦 2019.9.11

weixin_45594956 2019-09-11 07:25:01
...全文
224 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zx_silent 2019-09-21
  • 打赏
  • 举报
回复
import java.math.BigDecimal;
import java.util.Scanner;

/**
* @ClassName Test
* @Description: TODO
* @Author zxsilent
* @Date 2019/9/21
* @Version V1.0
**/
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入x:");
double x = scanner.nextDouble();
double taylor = Taylor(x);
System.out.println(taylor);

}

//定义求阶乘的方法,递归
public static int Factorial(int n) {
if (n < 0) {
return 0;
} else if (n >= 0 & n <= 1) {
return 1;
} else {
return n * Factorial(n - 1);
}
}

//保留小数点后六位小数
public static double decimal(double num) {
BigDecimal bd = new BigDecimal(num);
BigDecimal bd1 = bd.setScale(6, bd.ROUND_HALF_UP);
num = bd1.doubleValue();
long ll = Double.doubleToLongBits(num);

return num;
}

public static double Taylor(double x){
int i,k;
long fac=1;//阶乘
double n=1,y=1,sum=1;
for(i=2;(Math.abs(y))>=1e-6;i+=2)
{ n=n*(-1);
for(k=1;k<=i;k++)
fac=fac*k;
y=Math.pow(x, i)*n/fac;
sum+=y;
fac=1;
}
return decimal(sum);
}

}
易加一 2019-09-18
  • 打赏
  • 举报
回复
只要源代码是码字员的事。
tianfang 2019-09-12
  • 打赏
  • 举报
回复
作业 ,非常基础,必须自己做

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧