计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于3.1415小于3.1416的值 我不知道那里错了

ypfalex 2011-10-22 07:50:47
public class PI{
public static void main(String args[]){
double k,sum=0;
int n=1;
do{
k=2*n-1;
if(n%2==0)k=-k;
sum=sum+(1/k);
n++;
}while(4*sum>3.1415&&4*sum<3.1416);
System.out.println("PI的值为:"+4*sum);
}
}
结果为 4.0 我想知道那里错了?我们刚开始学习java ,哪位大哥可以帮帮我,以后再java这方面可以多指点我一下,我的qq 530890034
...全文
406 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangqin12356 2011-10-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wantdraw 的回复:]
while(!(4*sum>3.1415&&4*sum<3.1416))
[/Quote]

+1
ypfalex 2011-10-24
  • 打赏
  • 举报
回复
我明白了,用while语句时,应该是while(4*sum<3.1415||4*sum>3.1416),忽然开朗
谢谢 wantdraw
ypfalex 2011-10-24
  • 打赏
  • 举报
回复
wantdraw 为什么要加一个“!”呢?
wantdraw 2011-10-23
  • 打赏
  • 举报
回复
while(!(4*sum>3.1415&&4*sum<3.1416))
ypfalex 2011-10-23
  • 打赏
  • 举报
回复
那我应该怎么改呢?
winux1062 2011-10-23
  • 打赏
  • 举报
回复
while(4*sum>3.1415&&4*sum<3.1416)有问题只循环了一次。pi的计算公式整体上是不断减小的,并且有波动.

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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