java用do-while循环计算1 1/2! 1/3! 1/4! ...的前20项和

 我来答
辅国兵马大都督
2008-03-17 · TA获得超过198个赞
知道答主
回答量:166
采纳率:0%
帮助的人:0
展开全部
先写个求阶乘的方法:
public static int jieCheng(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}

然后如你要求的用dowhile()循环计算:(也给你写了个方法)
public static double caculate(int n) {
double sum = 0.0;
int i=1;
do{
sum = sum + 1.0 / jieCheng(i);
i++;
} while(i<=n)

return sum;
}

用的时候直接调用这个方法就可以了,例如计算前20的:caculate(20);
n随便你多少 o(∩_∩)o...哈哈
百度网友3128bf642
2008-03-17 · 超过10用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:34.4万
展开全部
public class MyTest {
public double getResult(){
double result = 0;
int i = 1;
do{
result += 1.0/getDenominator(i);
i++;
}while(i <= 20);
return result;
}

private int getDenominator(int i){
for(int j = i-1; j >= 1 ; j--){
i *= j;
}
return i;
}

public static void main(String[] args) {
MyTest test = new MyTest();
System.out.println(test.getResult());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旗儿飞飞
2008-03-18 · 超过21用户采纳过TA的回答
知道答主
回答量:170
采纳率:0%
帮助的人:88.5万
展开全部
楼上的两个都很好

1楼的我试过,可以不过result =0.0;更好点.

2楼的更好,更全面.

都是高手啊.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式