初学Java 帮忙看下哪里出问题了 输出的结果不对

qq_35983245 2017-03-04 11:06:13

public class T4_1
{
public static void main(String[] args)
{
double sum=0;
double a=1.0;
for(int i=1;i<=20;i++){
for(int j=1;j<=i;j++){
a=a*j;
}
sum=sum+1/a;
}
System.out.println(sum);
}
}
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
周成龙(: )~ 2017-03-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_35983245的回复:
[quote=引用 1 楼 qq_36781643 的回复:] 结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和[/quote] 是应该把double a=0放到第一层for循环里面
  • 打赏
  • 举报
回复
精度的问题,估计在3!之后的分数都等于0了,已经不再double所能表示的精度范围之内了。
qq_35983245 2017-03-04
  • 打赏
  • 举报
回复
引用 3 楼 pany1209 的回复:
[quote=引用 2 楼 qq_35983245 的回复:] [quote=引用 1 楼 qq_36781643 的回复:] 结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和[/quote]

double sum=0.0;
		double a=1.0;
		for (int i = 1; i <=20; i++) {
			a=a*i;
			sum+=1/a;
		}
		System.out.println(sum);
[/quote] 能说一下我的哪错了吗
李德胜1995 2017-03-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_35983245 的回复:
[quote=引用 1 楼 qq_36781643 的回复:] 结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和[/quote]你这种写法也可以,不过要把double a=1.0;放在循环20次里面
李德胜1995 2017-03-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_35983245 的回复:
[quote=引用 1 楼 qq_36781643 的回复:] 结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和[/quote]

double sum=0.0;
		double a=1.0;
		for (int i = 1; i <=20; i++) {
			a=a*i;
			sum+=1/a;
		}
		System.out.println(sum);
qq_35983245 2017-03-04
  • 打赏
  • 举报
回复
引用 1 楼 qq_36781643 的回复:
结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和
周成龙(: )~ 2017-03-04
  • 打赏
  • 举报
回复
结果是1.5868345........?不是吗?你想得到多少?
nikyotensai 2017-03-04
  • 打赏
  • 举报
回复
引用 5 楼 qq_35983245 的回复:
[quote=引用 3 楼 pany1209 的回复:] [quote=引用 2 楼 qq_35983245 的回复:] [quote=引用 1 楼 qq_36781643 的回复:] 结果是1.5868345........?不是吗?你想得到多少?
应该是1.7多 这道题 for循环计算1+1/2!+1/3!+1/4!+…的前20项之和[/quote]

double sum=0.0;
		double a=1.0;
		for (int i = 1; i <=20; i++) {
			a=a*i;
			sum+=1/a;
		}
		System.out.println(sum);
[/quote] 能说一下我的哪错了吗[/quote] a的值变了

62,614

社区成员

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

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