java For循环返回错误结果

sg2wtvxw  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(122)

我在解决以下任务时得到错误结果:
广义调和数:编写一个程序GeneralizedHarmonic.java,该程序使用两个整数命令行参数n和r,并使用for循环来计算r阶的第n个广义调和数,其定义如下:formula

public class GeneralizedHarmonic {

    public static void main(String[] args) {

        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        int i;
        double sum = 0;
        for (i = 0; i <= a; i++) {
            sum += 1 / Math.pow(i, b);
        }
        System.out.println(sum);
    }
}

这是我的代码,但我无法获得正确的测试输出。输出结果始终为Infinity . test outputs

xqkwcwgp

xqkwcwgp1#

你已经在for循环for (i = 0; i <= a; i++)中初始化了int i = 0,所以调和数的第一个元素不是

,而是


有效的代码:

public class GeneralizedHarmonic {

    public static void main(String[] args) {

        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        double sum = 0;
        for (int i = 1; i <= a; i++) {
            sum += 1 / Math.pow(i, b);
        }
        System.out.println(sum);
    }
}

相关问题