编写一个函数,接受一个由分子和分母组成的二维数组(每个元素代表一个分数,如 [分子1, 分母1], [分子2, 分母2] 等),对每个分数进行四舍五入并计算它们的和。最后返回这个经过四舍五入后分数总和。用Java如何实现这样的功能?
时间: 2024-10-24 18:14:50 浏览: 15
在Java中,你可以创建一个名为`roundedFractionSum`的函数来实现这个功能。首先,你需要导入Math库来进行四舍五入操作,然后定义一个方法来处理每个分数的四舍五入。以下是一个简单的实现:
```java
import java.util.Arrays;
import java.util.stream.DoubleStream;
public class FractionCalculator {
public static double roundedFractionSum(double[][] fractions) {
// 检查输入是否为空或者所有分数都是有效的
if (fractions == null || fractions.length == 0) {
return 0.0;
}
DoubleStream stream = Arrays.stream(fractions)
.mapToDouble(fraction -> Math.round(fraction[0] / fraction[1])); // 四舍五入每个分数
// 计算并返回总和
return stream.sum();
}
public static void main(String[] args) {
double[][] fractions = {{1.456, 2}, {3.14159, 7}, {2.71828, 10}};
System.out.println(roundedFractionSum(fractions)); // 输出经过四舍五入后的分数总和
}
}
```
在这个例子中,`roundedFractionSum`函数接收一个二维数组`fractions`,然后通过流(Stream)操作将每个分数的分子部分除以分母部分并四舍五入,再求和。记得检查输入的有效性,以防止除以零的情况。
阅读全文