Java 使用处理解决方案:S=1+1/2-1/3+1/4…+1/99-1/100

Java 使用处理解决方案:S=1+1/2-1/3+1/4…+1/99-1/100,java,math,processing,Java,Math,Processing,我想在处理中解决这个数学问题: S=1+1/2-1/3+1/4...+1/99-1/100. 这是我的代码,我不知道为什么它不工作。我想它会在控制台中打印一个数字,但会输出一系列自然数: float N = 0; float T = 0; int i = 1; void draw() { for (i = 1; i < 100; i += 2) { N = N + 1 / i; T = T + 1 / (i + 1); } pri

我想在处理中解决这个数学问题:

S=1+1/2-1/3+1/4...+1/99-1/100.
这是我的代码,我不知道为什么它不工作。我想它会在控制台中打印一个数字,但会输出一系列自然数:

float N = 0;
float T = 0;
int i = 1;

void draw() {
    for (i = 1; i < 100; i += 2) {
        N = N + 1 / i;
        T = T + 1 / (i + 1);
    }
    println(N - T);
}
1/i是两个整数之间的除法表达式,其结果将是通过截断结果的分数部分获得的整数。因为您正在计算浮点,所以可以使用1f浮点文本来解析它

for (int i = 1; i < 100; i += 2) {
  N = N + 1f / i;
  T = T + 1f / (i + 1);
}

首先,绘制运行每一帧。请改用安装程序,它只运行一次

第二,将整数除以整数得到一个整数。继续,执行println1/i,然后看看它的神奇之处

第三,在这样做之前,一定要在谷歌上搜索一段时间。你会通过自己去发现它学到更多。通过谷歌和一点努力,这是可以解决的

工作代码:

float N = 0;
float T = 0;
int i = 1;

void setup() {
    for (i = 1; i < 100; i += 2) {
        N = N + 1.0 / i;
        T = T + 1.0 / (i + 1);
    }
    println(N - T);
}

你用System.out.printlnN-T了吗?然后结果是1.0阅读有关调试代码的提示。请参阅:问题中的公式错误。开始时,使用+表示偶数除数2和4,使用-表示奇数除数3,但最后使用+表示奇数除数99,使用-表示偶数除数100。是哪一个?对不起,伙计们!这个公式在这个问题上是错误的。它应该是S=1-1/2+1/3-1/4…+1/99-1/100。但是密码是对的,回答很好。我会坚持标准命名约定,并确保变量是以小写字母开头的描述性名称。还请注意,您可以直接运行此代码,而无需使用setup函数。
float N = 0;
float T = 0;
int i = 1;

void setup() {
    for (i = 1; i < 100; i += 2) {
        N = N + 1.0 / i;
        T = T + 1.0 / (i + 1);
    }
    println(N - T);
}