举报
cc妖
哎呀 我没看清 PI 是一直变小的呀 问题是((-1)^n) 你知道运行结果是啥不 ^这个符号是异或 不是平方 平方运算是Math.pow(-1,n) 还有你检查下公式和数据类型也不对 首先n是int型 那么4/(2n-1) 会隐式类型准换类型为int 也就是 4/3 得到的结果是1 4/5 得0 那么结果就会是PI的值就是 PI=4 PI=4-4/3=4-1=3 PI=3-3/4=3-0=3 . . .PI永远为3 进入死循环 正确代码为 public class PI { public static void main(String[] args) { double p=0; double n=1; while(p<=3.1415||p>=3.1416) { p-=(4/(2*n-1))*(Math.pow(-1,n)); n++; } System.out.println("圆周率是:"+p); } }