当前位置: 代码迷 >> Java相关 >> 为什么没有输出结果!
  详细解决方案

为什么没有输出结果!

热度:129   发布时间:2007-09-23 21:13:45.0
为什么没有输出结果!

//下面的程序已作修改
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次方

谢谢赐教!多多交流
----------------解决方案--------------------------------------------------------

  相关解决方案