output is
Pi ≈ 3.1415926408104432225399904
Pi ≈ 3.1415926407501762451465336
Why it gives 2 values
package My.Test;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Pi {
public static void main(String[] args) {
long start = System.currentTimeMillis();
BigDecimal x;
x = BigDecimal.ZERO;
for (long n = 0;; n++) {
x = x.add(
BigDecimal.valueOf(Math.pow(-1, n) / (2 * n + 1))
);
if (System.currentTimeMillis() - start >= 420000) {
break;
}
}
System.out.println("Pi ≈ "+ x.multiply(BigDecimal
.valueOf(4)));
}
}