使用BigDecimal进行浮点数的运算太麻烦了
来源:4-4 编程练习
WittChen
2020-12-13 10:36:33
正如前面课程中所讲的,java进行浮点数运算的时候如果不用BigDecimal这个类进行辅助是会有问题的,我在这个例题中使用,如下代码只是简简单单的计算面积,就用了大量的代码,这还是简单的运算,如果在实际工作碰到复杂的,+ - * / 带括号的等等都放在一起,那这代码不得了,java中实际工作中不应该是这样来解决问题的吧,请老师解惑
import java.math.BigDecimal;
public class AreaDemo {
// 求长方形面积
public double calcuArea(double width, double height) {
BigDecimal bigW = new BigDecimal(Double.toString(width));
BigDecimal bigH = new BigDecimal(Double.toString(height));
double area = bigW.multiply(bigH).doubleValue();
return area;
}
// 求圆面积
public double calcuArea(double radius) {
BigDecimal PI = new BigDecimal(Double.toString(3.14d));
BigDecimal bigRadius = new BigDecimal(Double.toString(radius));
double area = PI.multiply(bigRadius).multiply(bigRadius).doubleValue();
return area;
}
public static void main(String[] args) {
//定义对象
AreaDemo ad = new AreaDemo();
//定义一个double类型的变量存放半径,并初始化
double radius = 5.23d;
//定义两个变量存放长和宽,并初始化
double width = 6.232d;
double height = 3.656d;
//调用方法,求圆的面积并打印输出
System.out.println("圆的面积为:" + ad.calcuArea(radius));
//调用方法,求长方形面积并打印输出
System.out.println("长方形的面积为:" + ad.calcuArea(width, height));
}
}
1回答
同学你好,1. 已完成练习,棒棒哒!继续加油!
2. 一般情况下会使用工具类进行实现。
注:工具类也是对基础计算的一种封装,如果同学感兴趣的话,可以在有一定基础后,查看一下工具类源码。现阶段同学了解一下即可。
相似问题