请设计一个功能类DecimalManager,其中包含对n个数求和,n个数求最大值,最小值的功能。并在main0中对其进行测试
时间: 2023-05-25 19:01:51 浏览: 123
以下是一个可能的实现:
```java
import java.math.BigDecimal;
public class DecimalManager {
private BigDecimal[] nums;
public DecimalManager(BigDecimal[] nums) {
this.nums = nums;
}
public BigDecimal getSum() {
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal num : nums) {
sum = sum.add(num);
}
return sum;
}
public BigDecimal getMax() {
BigDecimal max = nums[0];
for (BigDecimal num : nums) {
if (num.compareTo(max) > 0) {
max = num;
}
}
return max;
}
public BigDecimal getMin() {
BigDecimal min = nums[0];
for (BigDecimal num : nums) {
if (num.compareTo(min) < 0) {
min = num;
}
}
return min;
}
public static void main(String[] args) {
BigDecimal[] nums = {BigDecimal.valueOf(1.23), BigDecimal.valueOf(-4.56),
BigDecimal.valueOf(7.89), BigDecimal.valueOf(0)};
DecimalManager manager = new DecimalManager(nums);
System.out.println("Sum: " + manager.getSum());
System.out.println("Max: " + manager.getMax());
System.out.println("Min: " + manager.getMin());
}
}
```
以上代码定义了一个名为`DecimalManager`的类,用于处理`BigDecimal`类型的数值。该类包含了构造函数和三个方法,分别用于计算n个数的总和、最大值、最小值。
在`main`方法中,我使用了一个`BigDecimal`数组来初始化`DecimalManager`实例,并测试了其`getSum`、`getMax`和`getMin`方法。输出如下:
```
Sum: 4.56
Max: 7.89
Min: -4.56
```
阅读全文