java - 我如何在这里使用断言?
问题描述
这个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;
}
}
解决方案
第一个是有道理的,你可以放在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;
}
推荐阅读
- python - 相对导入:子包导入子包
- git - 如果忘记创建新的 Git 功能分支怎么办?
- swift - 将字符串动态转换为 JSONDecoder Decodable.Protocol 类型
- javascript - 如果单击了具有特定 ID 的按钮,则在卸载前禁用 JS
- java - Mysql JDBC 异常:无法在 JSP 中创建或访问数据库连接
- apache-nifi - Nifi 将 FetchHBaseRow 的输出/追加输出回流文件
- python - 如何使用 OpenCV 识别连接的 blob
- amazon-ec2 - CloudFormation - 按区域划分的完整 EC2 DNS 后缀?
- lsyncd - 当目标主机不可用时,LSYNC 不起作用
- react-native - 反应原生初始化应用程序有问题