首页 > 解决方案 > 我如何在这里使用断言?

问题描述

这个java程序计算一个几何数列的和q = (1/2) = 0.5 n是一个自然数(包括0)。现在应该在每一个写着“// here”的地方添加断言

题目是几何级数数学
我的想法是在方法声明之后写assert int =1; 但它错了

public static double geoReihe(int n) {
    // here 
    double result = 0;
    for (int i = 0; i <= n; i++) {
        result += Math.pow(0.5, i);
        // here 
    }
    // here 
    return result;
}

}

标签: javaassertion

解决方案


第一个是有道理的,你可以放在assertTrue(n >= 0)那里。如果您可以使用某些公式计算结果,则可以使用assertEquals(put-here-the-value-calculated-by-formula, result)第三个公式。第二个不能断言AFAIU。

public static double geoReihe(int n) {
    // here
    assertTrue(n >= 0);
    double result = 0;
    for (int i = 0; i <= n; i++) {
        result += Math.pow(0.5, i);
        // here
    }
    // here
    assertEquals(put-here-the-value-calculated-by-formula, result);
    return result;

}


推荐阅读