为什么没有输出结果!
//下面的程序已作修改
class ComputPi{
public static void main(String[] args){
double p=0;
int i=1;
while((3.1415927<4*p)||(4*p<3.1415926)){
p+=Math.pow(-1,i+1)*1.0/(2*i-1);
i++;
}
System.out.println(4*p);
}
}
[此贴子已经被作者于2007-9-25 0:22:09编辑过]
----------------解决方案--------------------------------------------------------
你输出能有什么呢?
while((3.1415927<p)||(p<3.1415926)){
314149267<p不flase啊!~后面也就没执行了!~
改为这个吧while((3.1415927>p)||(p<3.1415926)){
我想这个是你想要的吧!~
----------------解决方案--------------------------------------------------------
应该是while里面写的条件问题,如果一直为真的话就一直执行,可能条件写的有问题
----------------解决方案--------------------------------------------------------
2楼说的我认为不对,我想要的是当p在3.1415926与3.1415927之间时退出循环!用的逻辑或,2楼的当p在3.1415926与3。1415926之间时不能退出循环!
----------------解决方案--------------------------------------------------------
退出条件很难实现,一直循环,当然就不会输出了
----------------解决方案--------------------------------------------------------
回复:(晨风lxj)为什么没有输出结果!
对不起,看不懂你的算法,能解释下吗? ----------------解决方案--------------------------------------------------------
pow(-1,i+1)*1.0/(2*i-1);
这个什么意思?知道是求指数,但是(-1,i+1)是啥意思啊?
----------------解决方案--------------------------------------------------------
回复:(batwyx)pow(-1,i+1)*1.0/(2*i-1);这个什么意...
pow(x,y)是Math类的一个方法,表示x的y次方 ----------------解决方案--------------------------------------------------------
以下是引用晨风lxj在2007-9-25 0:15:28的发言:
pow(x,y)是Math类的一个方法,表示x的y次方
pow(x,y)是Math类的一个方法,表示x的y次方
谢谢赐教!多多交流
----------------解决方案--------------------------------------------------------