gpt4 book ai didi

Java - 计算 Pi

转载 作者:行者123 更新时间:2023-12-01 16:53:24 25 4
gpt4 key购买 nike

我一直想用 Gregory-Leibniz 级数来计算 pi,但有问题。我对 Java 有点陌生,所以这可能不是一个很难回答的问题。我不知道发生了什么事,所以有人可以帮助我吗?

到目前为止的代码:

package com.waitdev.pi;

public class Pi {

static int pi = 0;

public static void main(String[] args) {

for (int i = 1; i < 51; i++) {

if (isOdd(i)) {
pi = pi+(4/((i*2)-1));
// System.out.println(i);
} else {
pi = pi-(4/(i*2)-1);
// System.out.println(i);
}
}

System.out.println(pi);
}

private static boolean isOdd(int n) {
if (n % 2 == 1) {
return true;
} else {
return false;
}
}
}

仅供引用:输出为 28。

谢谢。

最佳答案

您的 else block 中缺少括号,您需要通过例如写入 4.0 而不是 4 来强制进行浮点计算。它应该是:

if (isOdd(i)) {
pi = pi+(4.0/((i*2)-1));
// System.out.println(i);
} else {
pi = pi-(4.0/((i*2)-1));
// System.out.println(i);
}

您还需要对 pi 使用 floatdouble

额外 - 至于你的 isOdd 方法,它可以简化为:

private static boolean isOdd(int n) {
return (n % 2 == 1)
}

但这并不影响结果。

关于Java - 计算 Pi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36080082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com