使用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回答

好帮手慕小尤

2020-12-13

同学你好,1. 已完成练习,棒棒哒!继续加油!
2. 一般情况下会使用工具类进行实现。

注:工具类也是对基础计算的一种封装,如果同学感兴趣的话,可以在有一定基础后,查看一下工具类源码。现阶段同学了解一下即可。

0

0 学习 · 16556 问题

查看课程