交替标志+循环

时间:2018-04-23 14:24:51

标签: java loops for-loop jcreator alternating

我应该重新创建这段代码

{{1}}

但是在循环中有交替的符号(1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... + 1 / N)并打印出值(输入整数:5 总数为:0.7833333333333332)

我想知道我怎么能这样做?我能够编写原始代码,但我不知道如何复制代码但是有交替的符号。

3 个答案:

答案 0 :(得分:2)

public static void main(String[] args) {

        // TODO, add your application code
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int n = keyboard.nextInt();
        double x = 0;
        System.out.print("The total is: ");
        for (int i = 1; i <= n; i++){
            if(i%2==0){ //even
                x = x-(1.0/i);
            }
            else{ //odd
                x = x+(1.0/i);
            }
        }
        System.out.print(+x);
    }

这可能是你想要做的。重要的变化是if(i%2==0)逻辑 - 在这里我将它用作基于i是偶数还是奇数的for循环的不同迭代交替的方式。

希望这有帮助,随时提出任何问题

答案 1 :(得分:0)

x = x+-(1.0/i);更改为x -= Math.pow(-1,i)/i;。这应该可以解决问题。

答案 2 :(得分:0)

    double s = -1; // Sign factor
    for (int i = 1; i <= n; i++) {
        s = -s;
        x += s/i;
    }